css-counter屬性

前言

博客原文查看可點(diǎn)擊《CSS counter屬性》哦岗照!
本文引用張?chǎng)涡翊蟠蟛┛臀恼隆禖SS counter計(jì)數(shù)器(content目錄序號(hào)自動(dòng)遞增)詳解》,一直覺(jué)得鑫大大是個(gè)被程序員耽誤的小說(shuō)家温艇,他的文章風(fēng)格大都以淺明深,詼諧幽默堕汞,可點(diǎn)擊這里查看原文哦勺爱。

好了,It's my show time!
在了解到counter之前讯检,想到計(jì)數(shù)應(yīng)該屬ul琐鲁,ol標(biāo)簽元素了吧,但它們的遞增規(guī)則單一人灼,無(wú)法實(shí)現(xiàn)自定義的遞增围段。而counter屬性完美的解決了這個(gè)問(wèn)題,讓我們一起來(lái)看看吧投放。
首先奈泪,使用一個(gè)屬性前,我們一定得了解一下它的兼容性,曾經(jīng)被IE兼容性虐哭的我段磨,不得不小心作為一個(gè)好用屬性的兼容問(wèn)題取逾。

兼容性

?I?E?? Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
8.0+ 2.0+ 4.0+ 3.1+ 3.5+ 3.2+ 2.1+ 18.0+

??看到這里是不是心里放松了很多耗绿,它的兼容性還是可以的接受的苹支,范圍不算局限。

counter的使用題要

CSS計(jì)數(shù)器只能跟content屬性在一起的時(shí)候才有作用误阻,而content屬性貌似專門用在before/after偽元素上的债蜜。于是,就有了究反,“計(jì)數(shù)器?偽元素?content屬性”的鐵三角關(guān)系

counter成員

counter的成員主要有三個(gè):

  • counter-reset(計(jì)數(shù)器聲明及初始值設(shè)置)
  • counter-increment(遞增規(guī)則)
  • counter()/counters(計(jì)算結(jié)果生成)

counter-reset

counter-reset主要有三個(gè)屬性寻定。

  • none:默認(rèn)。不能對(duì)選擇器的計(jì)數(shù)器進(jìn)行重置精耐。
  • name numname即標(biāo)記計(jì)數(shù)器名稱狼速,num即記錄計(jì)數(shù)器初始值。num非必寫卦停,默認(rèn)為0向胡。
  • inherit:規(guī)定應(yīng)該從父元素繼承 counter-reset 屬性的值。

counter-increment

counter-increment主要有三個(gè)屬性惊完。

  • none:沒(méi)有計(jì)數(shù)器將遞增僵芹。
  • name numname即選擇遞增的計(jì)數(shù)器,num即增量小槐。num非必寫拇派,默認(rèn)為1,可以是正數(shù)凿跳、零或者負(fù)數(shù)件豌。
  • inherit:指定counter-increment屬性的值,應(yīng)該從父元素繼承控嗜。

counter()/counters()

這是個(gè)方法苟径,不是屬性。類似CSS3中才calc()計(jì)算躬审。

  • name:選擇遞增的計(jì)數(shù)器棘街。
  • style:遞增的數(shù)字樣式:阿拉伯?dāng)?shù)字,羅馬數(shù)字等承边,具體如下:

list-style-type:disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none | armenian | cjk-ideographic | georgian | lower-greek | hebrew | hiragana | hiragana-iroha | katakana | katakana-iroha | lower-latin | upper-latin

  • string:counters的屬性遭殉,子序數(shù)連接符

<font color="#a00">注:</font>多個(gè)計(jì)數(shù)器還可同時(shí)命名,接下來(lái)我們上代碼看幾個(gè)例子博助。

CSS:
1. counter-reset屬性
.xxx { 
  counter-reset: count; /* 計(jì)數(shù)器名稱是'count', 并且默認(rèn)起始值為0 */
} 

.xxx { 
  counter-reset: count 4; /* 計(jì)數(shù)器名稱是'count', 并且默認(rèn)起始值為4 */
} 

.xxx { 
  counter-reset: count1 2 count2 3; /* 定義兩個(gè)計(jì)數(shù)器'count1'和'count2',默認(rèn)起始值分別為2和3 */
} 

2. counter-increment屬性
.counter { 
  counter-increment: count 2; /*'count'以2階段遞增 */
}

.counter { 
  counter-increment: count -1;  /*'count'以1階段遞減 */
}

3. counter方法
counters(name, style);

.counter:before { 
  content: counter(count1) '\A' counter(count2);  /*'\A'使用inline水平元素?fù)Q行*/
  white-space: pre; 
}

??接下來(lái)看一個(gè)完整的例子险污。
效果如圖:

css-counter_1.jpg

<div class="box">
    <div class="list">一級(jí)標(biāo)題
    <div class="box">
      <div class="list">二級(jí)標(biāo)題</div>
      <div class="list">二級(jí)標(biāo)題</div>
      <div class="list">二級(jí)標(biāo)題</div>
    </div>
    <div class="box">
      <div class="list">二級(jí)標(biāo)題
        <div class="box">
          <div class="list">三級(jí)標(biāo)題</div>
          <div class="list">三級(jí)標(biāo)題</div>
          <div class="list">三級(jí)標(biāo)題</div>
        </div>
      </div>
    </div>
    <div class="box"></div> 
    </div>
  <div>
  <div class="list">一級(jí)標(biāo)題<div>
</div>

<style>
.box { 
  counter-reset: counter; 
}
.toper, .inner { 
  background-color: #eee; 
  margin-left: 20px; 
}
.list:before, 
.toper:before,
.inner:before { 
  counter-increment: counter; 
}

.list {
  padding-left: 20px;
}

.inner:before, 
.list:before, 
.toper:before {
  content: counters(counter,'.')'、';
}
</style>

OK至此,關(guān)于counter的介紹就差不多結(jié)束了蛔糯,可以在實(shí)踐過(guò)程中發(fā)現(xiàn)和挖掘更有意思的操作拯腮,如果你有什么有趣的神操作,可以給我留言分享哦蚁飒!啦啦啦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末动壤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子淮逻,更是在濱河造成了極大的恐慌琼懊,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爬早,死亡現(xiàn)場(chǎng)離奇詭異哼丈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)筛严,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門醉旦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人桨啃,你說(shuō)我怎么就攤上這事车胡。” “怎么了优幸?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵吨拍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我网杆,道長(zhǎng)羹饰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任碳却,我火速辦了婚禮队秩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昼浦。我一直安慰自己馍资,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布关噪。 她就那樣靜靜地躺著鸟蟹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪使兔。 梳的紋絲不亂的頭發(fā)上建钥,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音虐沥,去河邊找鬼熊经。 笑死泽艘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镐依。 我是一名探鬼主播匹涮,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼槐壳!你這毒婦竟也來(lái)了然低?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宏粤,失蹤者是張志新(化名)和其女友劉穎脚翘,沒(méi)想到半個(gè)月后灼卢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绍哎,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年鞋真,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崇堰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涩咖,死狀恐怖海诲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檩互,我是刑警寧澤特幔,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站闸昨,受9級(jí)特大地震影響蚯斯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饵较,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一拍嵌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧循诉,春花似錦横辆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至划纽,卻和暖如春脆侮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阿浓。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工他嚷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓筋蓖,卻偏偏與公主長(zhǎng)得像卸耘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子粘咖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容