本文原刊於 Rails Designer
多年來 HTML 和 CSS 已經(jīng)變得越來越好,這已經(jīng)不是什麼秘密了。雖然我已經(jīng)開始喜歡寫 JavaScript,但只要我能逃脫懲罰,我就會這麼做。
典型的手風(fēng)琴是不需要 JavaScript 的東西之一。這種元件很容易使用 Vue、Alpine 和 Stimulus 等 JS 框架創(chuàng)建,但對於最基本的版本,您不需要它們中的任何一個。要讓它們看起來不錯,您只需要 CSS。
這個例子就是我想要的。您會發(fā)現(xiàn)它不一定是典型的常見問題清單樣式。將其用於像這樣的部分,效果也非常好。
本文出自:
- 基礎(chǔ)知識;
- 增加視覺趣味;
- 使用鮮為人知的進階刺激功能來冷卻漸進增強。
基礎(chǔ)知識
最基本的版本,如下:
它看起來是這樣的:
查看原始文章以取得實例。 ?
這不是最漂亮的,但很有效!
詳細資訊/摘要屬性
詳細資料/摘要元素有一些有趣的技巧。
- 開啟-屬性;您可以設(shè)定此屬性以預(yù)設(shè)開啟一個或多個元素(它也用於下面的 CSS);
- 新增名稱-屬性;這只允許開啟一個 details 元素。當(dāng)您打開其中一個時,所有其他都會自動關(guān)閉。
檢查一下:
查看原始文章以取得實例。 ?
增加更多視覺趣味
預(yù)設(shè)值看起來不太好,所以讓我們添加一些 CSS 以使內(nèi)容更符合您的應(yīng)用程式。關(guān)鍵部分是:
- [&::-webkit-details-marker]:隱藏;這將隱藏預(yù)設(shè)的 V 形;
- 群組開啟/詳細資訊:旋轉(zhuǎn) 180;這將根據(jù)其狀態(tài)旋轉(zhuǎn)自訂 V 形圖示。
使用 Tailwind CSS 的完整版本如下:
你能用這個做什麼?例如,將 details 元素的狀態(tài)儲存在瀏覽器的 localStorage 中,以便其始終保持不變。讓我們用一個小的 Stimulus 控制器來看看:
需要另一個例子嗎?定價頁面上可以看到典型的常見問題清單樣式。
使用純 HTML 加入手風(fēng)琴就是這麼簡單。您可以從非常簡單的開始,然後使用 CSS 添加一些視覺興趣,最後使用簡單的 Stimulus 控制器進行一些漸進增強。
以上是無需 JavaScript 的簡單手風(fēng)琴的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java和JavaScript是不同的編程語言,各自適用於不同的應(yīng)用場景。 Java用於大型企業(yè)和移動應(yīng)用開發(fā),而JavaScript主要用於網(wǎng)頁開發(fā)。

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

JavaScript中的日期和時間處理需注意以下幾點:1.創(chuàng)建Date對像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時間信息可用get和set方法,注意月份從0開始;3.手動格式化日期需拼接字符串,也可使用第三方庫;4.處理時區(qū)問題建議使用支持時區(qū)的庫,如Luxon。掌握這些要點能有效避免常見錯誤。

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

事件捕獲和冒泡是DOM中事件傳播的兩個階段,捕獲是從頂層向下到目標元素,冒泡是從目標元素向上傳播到頂層。 1.事件捕獲通過addEventListener的useCapture參數(shù)設(shè)為true實現(xiàn);2.事件冒泡是默認行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯誤處理。了解這兩個階段有助於精確控制JavaScript響應(yīng)用戶操作的時機和方式。

Java和JavaScript是不同的編程語言。 1.Java是靜態(tài)類型、編譯型語言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動態(tài)類型、解釋型語言,主要用於網(wǎng)頁交互和前端開發(fā)。
