<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CSS :is() 和 :where() 即將出現(xiàn)在瀏覽器中

          共 1367字,需瀏覽 3分鐘

           ·

          2020-07-28 16:27

          現(xiàn)在,Safari(技術(shù)預覽版106)和Firefox(版本78)的預覽版均支持新的CSS :is():where() 偽類。Chrome的實施仍然落后。

          使用 :is() 減少重復

          你可以使用 :is() 偽類來刪除選擇器列表中的重復項。

          /* before */
          .embed .save-button:hover,
          .attachment .save-button:hover {
          opacity: 1;
          }

          /* after */
          :is(.embed, .attachment) .save-button:hover {
          opacity: 1;
          }

          此功能主要在未處理的標準CSS代碼中有用。如果使用Sass或類似的CSS預處理程序,則可能更喜歡嵌套。

          注意:瀏覽器還支持非標準的 :-webkit-any():-moz-any() 偽類,它們與 :is() 相似,但限制更多。WebKit在2015年棄用了 :-webkit-any() ,Mozilla已將Firefox的用戶代理樣式表更新為使用 :is() 而不是 :-moz-any()。

          使用 :where() 來保持低特殊性

          :where() 偽類與 :is() 具有相同的語法和功能。它們之間的唯一區(qū)別是 :where() 不會增加整體選擇器的特殊性(即某條CSS規(guī)則特殊性越高,它的樣式越優(yōu)先被采用)。

          :where() 偽類及其任何參數(shù)都不對選擇器的特殊性有所幫助,它的特殊性始終為零。

          此功能對于應易于覆蓋的樣式很有用。例如,基本樣式表 sanitize.css 包含以下樣式規(guī)則,如果缺少 屬性,該規(guī)則將設置默認的填充顏色:

          svg:not([fill]) {
          fill: currentColor;
          }

          由于其較高的特殊性(B = 1,C = 1),網(wǎng)站無法使用單個類選擇器(B = 1)覆蓋此聲明,并且被迫添加 !important 或人為地提高選擇器的特殊性(例如 .share- icon.share-icon)。

          .share-icon {
          fill: blue; /* 由于特殊性較低,因此不適用 */
          }

          CSS庫和基礎(chǔ)樣式表可以通過用 :where() 包裝它們的屬性選擇器來避免這個問題,以保持整個選擇器的低特殊性(C=1)。

          /* sanitize.css */
          svg:where(:not([fill])) {
          fill: currentColor;
          }

          /* author stylesheet */
          .share-icon {
          fill: blue; /* 由于特殊性較高,適用 */
          }

          如果你覺得這篇內(nèi)容對你挺有啟發(fā),我想邀請你幫我三個小忙:

          1. 點個「在看」,讓更多的人也能看到這篇內(nèi)容(喜歡不點在看,都是耍流氓 -_-)

          2. 歡迎加我微信「qianyu443033099」拉你進技術(shù)群,長期交流學習...

          3. 關(guān)注公眾號「前端下午茶」,持續(xù)為你推送精選好文,也可以加我為好友,隨時聊騷。


          點個在看支持我吧,轉(zhuǎn)發(fā)就更好了
          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩国产手机在线 | 日韩一级 | 在线看A片 | 国产成人免费做爰视频 | 欧美一级大黄 |