最近遇到一個需求,要在一段文字上面加上一條背景色。相似於上學時候用的記號筆作筆記同樣的效果。
第一映像想到的多是text-decoration: line-through;不過這裏有一個問題,先上圖:spa
<div id='s5'>放學<span>啦啦</span></div>
#s5{ text-decoration: line-through; } #s5 span{ font-size: 60px; }
很明顯由於文字大小不一致,致使line-through的位置會錯位。設計
再看下圖的解決辦法,這裏就沒有改變個別文字的大小了。小夥伴們本身能夠動手試一試。code
附上代碼:ip
<div> <span id='s1'>雯子同窗</span> <span id='s2'>丸子同窗</span> <span id='s3'>早上好,老師</span> <span id='s4'>早上好, 同窗們</span> </div>
div { font-size: 40px; } #s1 { background-image: linear-gradient(to bottom, #fff 45%, #0aa 45%, #0aa 60%, #fff 60%); } #s2 { background-image: linear-gradient(to right, blue, blue 100%); background-position: 0 50%; background-repeat: repeat-x; background-size: 100% 7px; } #s3 { border-bottom: 8px solid red; display: inline-block; height: 26px; } #s4 { position: relative; } #s4:after { content: ""; position: absolute; left: 0; top: 26px; display: block; width: 100%; border: 5px solid yellow; }
看到這裏各位小夥伴們,有沒有發現一個問題。哪天設計過來講,你這線怎麼在文字後面,不是說讓你劃掉那段文字嗎???這下尷尬了。
在這裏我要介紹第四種了哈哈哈it
好啦,到這裏就算是講完了。寫的有點爛,CSS一直是個人弱項。但願能夠幫到有須要的小夥伴們~io