<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        CSS中的偽元素及其與偽類的區(qū)別示例介紹

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 18:52:49
        文檔

        CSS中的偽元素及其與偽類的區(qū)別示例介紹

        CSS中的偽元素及其與偽類的區(qū)別示例介紹:偽元素我們知道隨著CSS規(guī)范進一步完善,新增的CSS偽元素越來越多,但是在日常開發(fā)中,我們常用的及瀏覽器支持情況比較樂觀的當數(shù)before和after了。但是我們在日常開發(fā)中使用的都是:after {content: ;}來清除浮動,及新增一個元素(照顧到IE8瀏覽器這里使
        推薦度:
        導讀CSS中的偽元素及其與偽類的區(qū)別示例介紹:偽元素我們知道隨著CSS規(guī)范進一步完善,新增的CSS偽元素越來越多,但是在日常開發(fā)中,我們常用的及瀏覽器支持情況比較樂觀的當數(shù)before和after了。但是我們在日常開發(fā)中使用的都是:after {content: ;}來清除浮動,及新增一個元素(照顧到IE8瀏覽器這里使

        偽元素

        我們知道隨著CSS規(guī)范進一步完善,新增的CSS偽元素越來越多,但是在日常開發(fā)中,我們常用的及瀏覽器支持情況比較樂觀的當數(shù)before和after了。但是我們在日常開發(fā)中使用的都是:after {content: ”;}來清除浮動,及新增一個元素(照顧到IE8瀏覽器這里使用單冒號)。但是content的可取值有哪些呢?
        1. 字符串: content: “a string”- 注意:特殊字符必須使用unicode編碼;
        2. 圖片: content: url(/path/to/benjamin.png) – 圖片以原始尺寸插入,不能調(diào)整大小。因圖片支持漸變,因此可以對偽元素使用漸變效果;
        3. 無字符: content: “”- 這個在清除浮動和設置背景圖片比較有用,我們可以設置背景圖片的width和height,甚至我們可以使用background-size屬性來調(diào)整背景圖片大小;
        4. 計數(shù)器: content: counter(li)- 在:marker出現(xiàn)之前,對于設置列表序號樣式比較有用;具體參見下面代碼:

        ol { 
         countercounter-reset: li; 
        } 
        ol>li { 
         position: relative; 
         padding-left: 2em; 
         line-height: 30px; 
         list-style: none; 
        } 
        ol>li:before { 
         position: absolute; 
         top: 8px; 
         left: 0; 
         height: 16px; 
         width: 16px; 
         line-height: 16px; 
         text-align: center; 
         content: counter(li); 
         countercounter-increment: li; 
         border-radius: 50%; 
         background-color: #ccc; 
         font-size: 12px; 
         color: #efefee; 
        }

        PS:我們不能設置content: “<h2>Benjamin</h2>”,它不會解析按HTML代碼片段解析,而會解析為字符串;
        5. content: attr(attrName)
        content可以利用attr函數(shù)獲取屬性值,尤其使用在偽類中比較方便。見如下代碼:

        <style type="text/css"> 
         .list li { 
         list-style: none; 
         margin-bottom: 20px; 
         } 
         .list li span { 
         vertical-align: middle; 
         } 
         .list li:before { 
         content: attr(data-index); 
         display: inline-block; 
         width: 20px; 
         height: 20px; 
         text-align: center; 
         color: #fff; 
         vertical-align: middle; 
         background-color: #f00; 
         border-radius: 50%; 
         } 
        </style> 
        <ul class="list"> 
         <li data-index="1"><span>專注前端開發(fā)和用戶體驗</span></li> 
         <li data-index="2"><span>專注前端開發(fā)和用戶體驗</span></li> 
         <li data-index="3"><span>專注前端開發(fā)和用戶體驗</span></li> 
         <li data-index="4"><span>專注前端開發(fā)和用戶體驗</span></li> 
         <li data-index="5"><span>專注前端開發(fā)和用戶體驗</span></li> 
        </ul>

        說了前面的話,下面說說IE中遇到的bug:
        Bug描述:使用偽類實現(xiàn)”+”/”-“號圖像切換時,通過增加和移除opened類來實現(xiàn),但是在IE8中效果怪異,無法正確渲染,其它瀏覽器中正常:

        .plus { 
         position: relative; 
         display: inline-block; 
         vertical-align: top; 
         width: 20px; 
         height: 20px; 
         margin-right: 24px; 
         border: 1px solid #fdaa47; 
         border-radius: 3px; 
         overflow: hidden; 
        } 
        /* 橫向 */
        .plus:before { 
         content: ''; 
         position: absolute; 
         top: 10px; 
         left: 3px; 
         width: 14px; 
         height: 1px; 
         background-color: #fdaa47; 
         display: block; 
        } 
        /* 縱向 */
        .plus:after { 
         display: block; 
         content: ''; 
         width: 1px; 
         height: 14px; 
         background-color: #fdaa47; 
         position: absolute; 
         left: 10px; 
         top: 3px; 
        } 
        .opened:after { 
         top: -30px; 
        }

        當通過addClass(‘opened’)和removeClass(‘opened’),來切換加減號時:IE8瀏覽器中效果沒有達到預期,部分樣式無法覆蓋,現(xiàn)解決方案如下:

        <p class="parent"> 
         <i class="plus"></i> 
        </p> 
        <script type="text/javascript"> 
        $('.parent').on('click', function() { 
         var $i = $(this).find('i'), 
         className = $i.attr('class'); 
         className = /opened/.test(className) ? 'plus' : className +' opened'; 
         $i.replaceWith('<i class="'+ className +'""></i>'); 
        }); 
        </script>

        偽類和偽元素的異同
        1. W3C CSS 2.1 Selectors
        對偽類和偽元素沒有做出區(qū)分,都是使用一個冒號
        比如
        偽類:first-child,
        偽元素:first-line
        PS:在該規(guī)范中明確提到了a鏈接的幾種偽類的書寫順序:
        Note that the A:hover must be placed after the A:link and A:visited rules, since otherwise the cascading rules will hide the ‘color’ property of the A:hover rule. Similarly, because A:active is placed after A:hover, the active color (lime) will apply when the user both activates and hovers over the A element.

        2. CSS Selectors Level 3
        該規(guī)范中為偽類和偽元素做了區(qū)分,偽類使用單冒號,偽元素開始使用雙冒號。
        比如
        偽類:first-child
        偽元素::first-line、::first-letter、::before、::after
        CSS 3在CSS2.1的基礎上增加了不少偽類:target、UI元素狀態(tài)的偽類:checked等、結構性偽類:nth-child()等,具體可以看規(guī)范。

        3. CSS Selectors Level 4草案
        該草案中又增加了很多新的偽類,比如與input控制狀態(tài)、值狀態(tài)、值校驗相關的偽類,樹形結構的偽類,網(wǎng)格結構的偽類等。

        4. CSS Pseudo-Elements Module Level 4——W3C First Public Working Draft, 15 January 2015
        增加了一些偽元素,如:
        Selecting Highlighted Content: the ::selection, ::spelling-error, and ::grammar-error pseudo-elements,
        Placeholder Input: the ::placeholder pseudo-element。

        5. 常見應用
        偽類:
        1) a鏈接樣式
        2) 隔行變色
        偽元素:
        1) 最常見的使用偽元素after清除浮動,
        .fix{*zoom:1;}
        .fix:after,.fix::after{display: block; content: “clear”; height: 0; clear: both; overflow: hidden; visibility: hidden;}
        2) letter-spacing+first-letter實現(xiàn)按鈕文字隱藏
        3) 首行、首字母樣式

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CSS中的偽元素及其與偽類的區(qū)別示例介紹

        CSS中的偽元素及其與偽類的區(qū)別示例介紹:偽元素我們知道隨著CSS規(guī)范進一步完善,新增的CSS偽元素越來越多,但是在日常開發(fā)中,我們常用的及瀏覽器支持情況比較樂觀的當數(shù)before和after了。但是我們在日常開發(fā)中使用的都是:after {content: ;}來清除浮動,及新增一個元素(照顧到IE8瀏覽器這里使
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲日本一区二区一本一道| 又黄又爽又成人免费视频| 国产婷婷高清在线观看免费| 99久久国产亚洲综合精品| 成人影片麻豆国产影片免费观看| 亚洲日本在线免费观看| 国产免费女女脚奴视频网| 亚洲国色天香视频| 国产乱码免费卡1卡二卡3卡| 亚洲一区精彩视频| 成人免费一区二区三区在线观看| 亚洲18在线天美| 精品国产免费一区二区| 黄色网页免费观看| 国产国拍亚洲精品福利| 97在线免费视频| 亚洲成色在线影院| 2021久久精品免费观看| 亚洲欧洲AV无码专区| 又粗又大又硬又爽的免费视频| 精品久久久久亚洲| 亚洲AⅤ无码一区二区三区在线 | 亚洲午夜福利717| 91高清免费国产自产拍2021| 亚洲女人初试黑人巨高清| 成全高清视频免费观看| 看一级毛片免费观看视频| 亚洲精品夜夜夜妓女网| 最近新韩国日本免费观看| 精品亚洲456在线播放| 免费午夜爽爽爽WWW视频十八禁 | 免费二级毛片免费完整视频| 久久www免费人成精品香蕉| 亚洲性天天干天天摸| 久久丫精品国产亚洲av不卡| 91香蕉成人免费网站| 免费无遮挡无码视频在线观看| 亚洲AV无码乱码国产麻豆穿越| 丁香花在线观看免费观看| 91国内免费在线视频| 亚洲噜噜噜噜噜影院在线播放 |