怎么自定義列表符號? - css筆記

    ul,li的無序列表有默認的符號·,但是在很多情況下我們希望可以給這個符號加入自己的樣式和顏色,甚至是換成自定義的符號

    ul,li的無序列表有默認的符號·,但是在很多情況下我們希望可以給這個符號加入自己的樣式和顏色,甚至是換成自定義的符號。默認的符號我們是無法做任何的樣式處理,而且默認的符號在CSS屬性里面只有幾個選擇可以使用,很多情況下都是無法滿足我們的設計。

    其實自定義無序列表符號不難,我們只需要使用偽元素::beforecontent屬性就可以實現。

    在我這個例子里面我做了兩個任務列表,一個是待處理任務,一個是已完成任務,各自給了不一樣的列表符號和顏色。

    怎么自定義列表符號? - css筆記

    實現原理

    一、首先我們禁用了ul的默認符號樣式list-style: none

    二、在li:before偽元素上給予content內容值,待處理任務使用,已完成任務li.completed:before使用?

    三、為了展示效果更加好看我分別給了lili .completed兩個不同的顏色

    上代碼看看是怎么實現的吧:

    HTML

    <div>
      <h2>待處理</h2>
      <ul>
        <li>待辦任務1</li>
        <li>待辦任務2</li>
        <li>待辦任務3</li>
        <li>待辦任務4</li>
        <li>待辦任務5</li>
      </ul>
    </div>
    <div>
      <h2>已完成</h2>
      <ul>
        <li class="completed">完成任務1</li>
        <li class="completed">完成任務2</li>
        <li class="completed">完成任務3</li>
      </ul>
    </div>
    

    CSS

    ul {
      list-style: none;
      color: #fff;
      font-size: 20px;
      border: 3px solid #000;
      padding: 1rem 2rem;
      min-height: 200px;
      margin: 15px 2rem 0 0;
      background: #323232;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
      border-radius: 8px;
    }
    
    li {
      padding: 0.3rem 0;
    }
    
    li::before {
      content: "  ";
      color: aqua;
    }
    
    li.completed::before {
      content: "? ";
      text-decoration: none;
      color: greenyellow;
    }
    
    li.completed {
      text-decoration: line-through;
      color: #bdbdbd;
    }
    

    ::before::after偽元素加content屬性可以用來做很多特殊的效果,也是當代前端排版比較常用的“魔法”。說到偽元素的使用,我再給大家說一個比較常用的使用場景。

    在管理后臺或者是文章展示中,我們經常可以見到的“面包屑導航”也是用偽元素來插入每個目錄中間的符號的。

    怎么自定義列表符號? - css筆記

    實現邏輯

    一、這個導航含有3個a標簽,首先給每個a標簽加入一個偽元素::after,然后在content屬性插入/符號。

    二、然后使用a:first-child,這個偽類會選擇到第一個a標簽,然后使用content屬性加入?符號。

    三、因為我們第一步在每個a標簽的后面插入了/符號, 所以我們需要在最后一個a標簽清除掉。這里我們使用:last-child選擇到最后一個a標簽,然后用content: " "屬性把偽元素的內容清楚掉。

    HTML

    <div class="breadcrumb">
      <a>三鉆</a>
      <a>前端</a>
      <a>教程</a>
    </div>
    

    CSS

    .breadcrumb {
      font-size: 1.6rem;
      color: #fff;
    }
    .breadcrumb a:first-child {
      color: #82fcfd;
    }
    .breadcrumb a:first-child::before {
      content: " ? ";
    }
    .breadcrumb a::after {
      content: " /";
      color: #ef6eae;
    }
    .breadcrumb a:last-child::after {
      content: "";
    }
    

    知識總結

    • ::before | ::after?— 偽元素用于向某些選擇器添加特殊的效果。
    • content?— CSS 屬性用于在元素的 ::before 和 ::after 偽元素中插入內容。使用content 屬性插入的內容都是匿名的可替換元素。
    • :first-child?— CSS偽類表示在一組兄弟元素中的第一個元素。
    • :last-child?— CSS偽類代表父元素的最后一個子元素。

    當然,li元素自帶了一些可自定義的符號,可通過<ol type="a">的例子進行調用,當然,不贊成使用。請使用樣式取代它。

    下載權限
    查看
    • 免費下載
      評論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當前的等級為
    登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
    您已獲得下載權限 您可以每天下載資源次,今日剩余
    軟件

    foobar2000 - 音樂播放器

    2019-8-19 16:50:29

    Woostroid - 多功用響應式WooCommerce模板

    2019-12-21 7:01:26

    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 国模视频一区二区| 成人国产精品一区二区网站公司| 精品爆乳一区二区三区无码av| 无码人妻精品一区二区三区99性| 红杏亚洲影院一区二区三区| 狠狠做深爱婷婷久久综合一区| AA区一区二区三无码精片| 午夜精品一区二区三区免费视频| 婷婷国产成人精品一区二| 综合一区自拍亚洲综合图区| 国产99视频精品一区| 色欲AV蜜臀一区二区三区| 国产主播一区二区| 红桃AV一区二区三区在线无码AV| 亚洲AV永久无码精品一区二区国产 | 亚洲一区二区影院| 亚洲av无码一区二区三区不卡 | 国产视频一区在线播放| 中文字幕人妻第一区| 亚洲国产AV一区二区三区四区| 日日摸夜夜添一区| 亚洲高清一区二区三区电影| 2021国产精品视频一区| 国产乱码精品一区二区三区香蕉 | 无码人妻一区二区三区精品视频| 精品国产日韩亚洲一区在线| 日韩一区二区在线免费观看| 国产成人一区二区三区精品久久| 国产成人无码aa精品一区| 国产一区中文字幕在线观看| 视频一区二区在线播放| 日韩精品无码Av一区二区| 精品国产日韩亚洲一区| 亚洲av无码不卡一区二区三区| 在线观看亚洲一区二区| 韩国精品一区二区三区无码视频| 国产一区中文字幕| 成人精品视频一区二区三区不卡 | 精品人妻AV一区二区三区| 无码一区二区三区在线| 精品一区二区高清在线观看|