摘要:最近在看張?chǎng)涡竦氖澜缈戳诉@個(gè)書(shū)感覺(jué)打開(kāi)了世界的大門建議前端工程師人手一本針對(duì)字符內(nèi)容生成這一技術(shù)用的最多的應(yīng)該就是配合實(shí)現(xiàn)字體圖標(biāo)了吧因?yàn)榫瓦\(yùn)用了這一技術(shù)進(jìn)入之后默認(rèn)是點(diǎn)擊紅線里面就是連接了可以直接打開(kāi)看到源碼與上面所寫無(wú)二在
最近在看張?chǎng)涡竦摹禼ss世界》, 看了這個(gè)書(shū)感覺(jué)打開(kāi)了css世界的大門. 建議前端工程師人手一本
針對(duì)content 字符內(nèi)容生成 這一技術(shù)用的最多的應(yīng)該就是配合@font-face實(shí)現(xiàn)字體圖標(biāo)了吧. 因?yàn)閔ttp://www.iconfont.cn 就運(yùn)用了這一技術(shù)
@font-face { font-family: "iconfont"; /* project id 243181 */ src: url("http://at.alicdn.com/t/font_243181_20ev5oif1gduz0k9.eot"); src: url("http://at.alicdn.com/t/font_243181_20ev5oif1gduz0k9.eot?#iefix") format("embedded-opentype"), url("http://at.alicdn.com/t/font_243181_20ev5oif1gduz0k9.woff") format("woff"), url("http://at.alicdn.com/t/font_243181_20ev5oif1gduz0k9.ttf") format("truetype"), url("http://at.alicdn.com/t/font_243181_20ev5oif1gduz0k9.svg#iconfont") format("svg"); } .icon-search:before { font-size: 24px; font-family: iconfont; content: "e657"; color: #000; }
進(jìn)入iconfont之后默認(rèn)是Unicode 點(diǎn)擊Font class 紅線里面就是連接了, 可以直接打開(kāi)看到源碼. 與上面所寫無(wú)二.
在上面:before中content中的字符是Unicode, 由此延伸出下一個(gè)功能 動(dòng)態(tài)加載頁(yè)面內(nèi)容的時(shí)候時(shí)常用到"正在加載中..."這幾個(gè)字, 可以利用這一技術(shù)實(shí)現(xiàn)動(dòng)態(tài)...
html 正在加載中... css dot { display: inline-block; height: 1em; line-height: 1; text-align: left; vertical-align: -.25em; overflow: hidden; } dot { display: block; content: "...a..a."; white-space: pre-wrap; animation: dot 3s infinite step-start both; } @keyframes dot { 33% { transform: translateY(-2em) } 66% { transform: translateY(-1em) } }
效果可以查看張?chǎng)涡癫┛筒榭? ie6~ie9是靜態(tài)的, 支持animation動(dòng)畫的瀏覽器都是動(dòng)態(tài)的.
動(dòng)畫原理為: 插入3行內(nèi)容是 3個(gè)點(diǎn)、2個(gè)點(diǎn)和一個(gè)點(diǎn), 然后通過(guò)transform控制垂直位置.
這里需要注意的有這么幾點(diǎn)
為什么是::before, 而不是:before, 可不可以使用::after
從content屬性來(lái)看, 是3個(gè)點(diǎn)在第一行, 而1個(gè)點(diǎn)反而在最后一行, 為什么這么處理
這里white-space值為何是pre-wrap 而不是pre
對(duì)這幾個(gè)答案一一做回答:
:before是偽類, ::before則為偽元素. 偽元素使用::before 同時(shí)display設(shè)置為block, 是為了在現(xiàn)代瀏覽器下把原來(lái)的3個(gè)點(diǎn)推到最下面, 不會(huì)影響content的3行內(nèi)容顯示, 如果使用::after就很難實(shí)現(xiàn)效果
3個(gè)點(diǎn)在第一行是為了兼容ie9, 應(yīng)為ie9認(rèn)識(shí)
pre-wrap換成pre效果一樣.
content開(kāi)啟閉合符號(hào)生成
CSS中有個(gè)quotes屬性, 可以指定open-quote和close-quote字符具體是什么. 例如, 針對(duì)不同語(yǔ)言指定不同的前后符號(hào):
css世界是一本好書(shū)
css世界是一本好書(shū)/* 為不同語(yǔ)言指定引號(hào) */ :lang(ch) > q { quotes: """ """; } :lang(en) > q { quotes: """ """; } :lang(no) > q { quotes: "<" ">"; } /* 在q標(biāo)簽的前后插入引號(hào) */ q:before { content: open-quote; } q:after { content: close-quote; }
css世界是一本好書(shū)
在此基礎(chǔ)上演變更多好玩的:
.ask { quotes: "提問(wèn): "" """; } .answer { quotes: "回答: "" """; } .ask:before, .answer:before { content: open-quote; } .ask:after, .answer:after { content: close-quote; }你問(wèn)我愛(ài)你有多深?
月亮代表我的心
content attr屬性值內(nèi)容生成
這個(gè)功能比較常用, 作者常用, 我也很常用.
img::after { /* 生成alt信息 */ content: attr(alt); }
除了原生屬性, 自定義的HTML屬性也是可以的
.icon:before { content: attr(data-title); }
需要注意的是, attribute中的屬性名不要加引號(hào)!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/116701.html
摘要:計(jì)數(shù)器效果可是說(shuō)是的重中之重此功能非常強(qiáng)大實(shí)用且不具有可替代性甚至可以實(shí)現(xiàn)連都不好實(shí)現(xiàn)的效果這個(gè)地方放慢節(jié)奏細(xì)細(xì)品味先來(lái)個(gè)例子體驗(yàn)一下計(jì)數(shù)器第一個(gè)第二個(gè)第三個(gè)所謂計(jì)數(shù)器效果指的是使用代碼實(shí)現(xiàn)隨著元素?cái)?shù)目增多數(shù)值也跟著變大的效果圖中紅色阿 計(jì)數(shù)器效果可是說(shuō)是content的重中之重, 此功能非常強(qiáng)大、實(shí)用, 且不具有可替代性, 甚至可以實(shí)現(xiàn)連js都不好實(shí)現(xiàn)的效果. 這個(gè)地方放慢節(jié)奏, 細(xì)...
摘要:上一篇文章手把手教你如何用構(gòu)建技術(shù)文章聚合平臺(tái)一介紹了如何使用搭建的運(yùn)行環(huán)境,并且將與集成,對(duì)掘金進(jìn)行技術(shù)文章的抓取,最后可以查看抓取結(jié)果。本篇文章將繼續(xù)講解如何利用編寫一個(gè)精簡(jiǎn)的聚合平臺(tái),將抓取好的文章內(nèi)容展示出來(lái)。 上一篇文章《手把手教你如何用Crawlab構(gòu)建技術(shù)文章聚合平臺(tái)(一)》介紹了如何使用搭建Crawlab的運(yùn)行環(huán)境,并且將Puppeteer與Crawlab集成,對(duì)掘金、...
摘要:重構(gòu)系統(tǒng)是一項(xiàng)非常具有挑戰(zhàn)性的事情。架構(gòu)與說(shuō)起來(lái),我一直是一個(gè)黨。如下圖是采用的架構(gòu)這與我們?cè)陧?xiàng)目上的系統(tǒng)架構(gòu)目前相似。而這是大部分所不支持的。允許內(nèi)容通過(guò)內(nèi)容服務(wù)更新使用于是,有了一個(gè)名為的框架用于管理內(nèi)容,并存儲(chǔ)為。 重構(gòu)系統(tǒng)是一項(xiàng)非常具有挑戰(zhàn)性的事情。通常來(lái)說(shuō),在我們的系統(tǒng)是第二個(gè)系統(tǒng)的時(shí)候才需要重構(gòu),即這個(gè)系統(tǒng)本身已經(jīng)很臃腫。我們花費(fèi)了太量的時(shí)間在代碼間的邏輯,開(kāi)發(fā)新的功能變得...
閱讀 2072·2023-04-25 17:48
閱讀 3584·2021-09-22 15:37
閱讀 2937·2021-09-22 15:36
閱讀 5981·2021-09-22 15:06
閱讀 1641·2019-08-30 15:53
閱讀 1428·2019-08-30 15:52
閱讀 711·2019-08-30 13:48
閱讀 1121·2019-08-30 12:44