中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AMCSS如何借助HTML屬性來進行CSS屬性相關開發

發布時間:2022-03-03 11:13:06 來源:億速云 閱讀:120 作者:小新 欄目:web開發

小編給大家分享一下AMCSS如何借助HTML屬性來進行CSS屬性相關開發,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一、AMCSS簡介

AMCSS是Attribute Modules for CSS的縮寫,表示借助HTML屬性來進行CSS相關開發。

傳統我們多個模塊特性是通過多個類名進行控制的,典型如下:

<div class="button button-large button-blue">Button</div>

例如,weui中的按鈕,或者針對用戶側PC產品的LuLu UI中的按鈕,均是采用這種方式。

而AMCSS則是基于屬性控制,例如:

<div button="large blue">Button</div>

為了避免屬性名稱沖突,我們可以加一個統一的前綴,例如am-,于是有:

<div am-button="large blue">Button</div>

此技術能夠實行離不開這個一個選擇器:[attr~=”val”]。這個選擇器多年前在“了不起的IE7瀏覽器-CSS新特性-實現與思維變革”這篇文章中就有介紹。

[attr~="val"]可以看出是屬性值中的單詞匹配,CSS選擇器這東西是老外弄出來的,老外的的母語是English, English的句子都是一個單詞+空格+一個單詞實現的,所以彎彎等于(~=)屬性選擇器的效果就有class類名選擇器很近似,基于空格區分。

因此,目前主流類名選擇器:

.button {...}
.button-large {...}
.button-blue {...}

可以轉換成:

[am-button] {...}
[am-button~="large"] {...}
[am-button~="blue"] {...}
AMCSS官網

AMCSS有專門的介紹網站:http://amcss.github.io/

其中,有對AMCSS的優點進行說明:每個屬性有效地聲明一個單獨的命名空間,用于封裝樣式信息,從而產生更易于閱讀和維護的HTML和CSS。

二、我對AMCSS的看法

值得借鑒,但沒必要大規模使用,畢竟屬性選擇器的性能和類名相比差別很大,過度使用可能會產生可感知的性能問題。

但是價值還是很可取的,關鍵要看使用場景,通常我們靜態的組件開發,我建議還是使用類名串聯,因為大家都習慣,同事也習慣。但是,有時候,AMCSS這套基于屬性選擇器開發的思路還是很有用的。

例如,我們經常需要在DOM元素上存儲數據,例如放在data-store屬性中,此時,配合AMCSS,我們可以非常高效進行不同數據不同樣式的控制。

另外,無障礙訪問中的aria-*本質上也都是通過屬性控制,現代Web Components的UI控制也是基于HTML屬性,因此,AMCSS是有生命力有市場的,但是,并不是作為主力出現。

看完了這篇文章,相信你對“AMCSS如何借助HTML屬性來進行CSS屬性相關開發”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沁阳市| 五华县| 郴州市| 龙江县| 永新县| 调兵山市| 特克斯县| 芒康县| 呼玛县| 湘西| 延川县| 临朐县| 五大连池市| 库车县| 德州市| 隆尧县| 唐山市| 武强县| 铜梁县| 留坝县| 会理县| 疏附县| 萨嘎县| 延安市| 洪湖市| 淄博市| 冀州市| 永登县| 宜川县| 龙海市| 吉林省| 惠水县| 青州市| 玉屏| 从化市| 仙桃市| 怀来县| 大理市| 南昌市| 华亭县| 星子县|