亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在CSS中創建前導點

在CSS中創建前導點

慕田峪7331174 2019-12-15 16:08:10
用CSS在目錄中做前導點的好方法是什么?例:Link.............Chapter 1Link.............Chapter 2Link.............Chapter 3
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

以@Nico O的答案為基礎,不需要非語義.dots元素。


.toc li {

  display: flex;

}


.toc li .title {

  order: 1;

}


.toc li .chapter {

  order: 3;

}


.toc li::after {

  content: "";

  border-bottom: 1px dotted;

  flex-grow: 1;

  order: 2;

}

<ul class="toc">

  <li>

    <span class="title">Foo</span>

    <span class="chapter">Chapter 1</span>

  </li>

  <li>

    <span class="title">Bar</span>

    <span class="chapter">Chapter 2</span>

  </li>

</ul>

我們利用這樣的事實,即我們可以根據需要對flex容器的子項進行排序,以及偽元素的行為類似于定義它的子項。關鍵是flex-grow規則。一flex-grow的1,而所有其他的兄弟姐妹都默認0將增長到即使它沒有任何內容的剩余空間。


這將一直有效,直到.title和.chapter元素一起填滿所有空間。然后,::after偽元素將具有widthof,0并且即使邊框.title和.chapter將包裝其內容,虛線邊框也不會顯示。因此,如果您確定不會發生這種情況,并且您的觀眾使用的是現代瀏覽器,那么這可能是最佳的解決方案。


如果您想要更稀疏的點,則可以在偽元素上使用徑向漸變作為背景,而不是使用border-bottom:


.toc li::after {

  background-image: radial-gradient(circle, currentcolor 1px, transparent 1px);

  background-position-y: bottom;

  background-size: 1ex 3px;

  background-repeat: repeat-x;

  height: 1em;

}



查看完整回答
反對 回復 2019-12-16
  • 3 回答
  • 0 關注
  • 611 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號