css3可以加文字描边吗
css3可以加描邊,方法:1、使用text-shadow屬性,通過給文字周圍添加文字陰影來實現(xiàn)描邊效果;2、使用text-stroke屬性,語法“text-stroke:描邊寬度 顏色;”;3、利用SVG給文字加描邊。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
text-shadow 文字描邊
text-shadow:向文本設(shè)置陰影。
text-shadow:color||length||length||opacity
color:指定顏色。
length:第一個length指定陰影在水平方向上的延伸距離,第二個length指定陰影在垂直方向上的延伸距離,可以為負(fù)值。
opacity:指定陰影模糊效果的作用距離。
用逗號分隔的4個屬性值代表的方向順序為右下左上。
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>text-shadow-文字描邊</title><style>.demo {height: 200px;text-align: center;font-family: Verdana;font-size: 30px;font-weight: bold;background: peru;color: #000;}.stroke {text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;}</style></head><body><div class="demo"><p>沒有添加描邊</p><p class="stroke">添加了字體描邊</p></div></body></html>
text-stroke 文字描邊
CSS 中有個專門用于文字描邊的屬性-webkit-text-stroke,可以控制描邊的寬度和顏色,比如
.text{ -webkit-text-stroke: 2px #333;}
效果如下
確實有描邊了,但是文字好像瘦了一圈,如果覺得不太明顯,可以再設(shè)置大一點
從這里可以看出,-webkit-text-stroke其實是 居中描邊,并且是覆蓋在文本上的,也無法更改描邊方式。而事實上,很多設(shè)計工具都是可以選擇描邊方式的,比如 figma
那么,如何實現(xiàn)外描邊效果呢?
也是可以的!用兩層文本,一層文本描邊,一層文本漸變就可以了,為了節(jié)省標(biāo)簽,可以用偽元素來生成
<p class="text" data-title="為你定制 發(fā)現(xiàn)精彩">為你定制 發(fā)現(xiàn)精彩</p>
::before設(shè)置漸變,位于上方,原文本設(shè)置描邊,位于下方,注意把::before的-webkit-text-stroke去除
.text::before{ content: attr(data-title); position: absolute; background-image: linear-gradient(#FFCF02, #FF7352); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0;}.text{ -webkit-text-stroke: 6px #333;}
疊加示意如下
改變不同的描邊也不會出現(xiàn)文字“變瘦”的情況
SVG 文字描邊
SVG 也可以實現(xiàn)描邊效果,和 CSS 比較類似,應(yīng)該說 CSS 是借鑒 SVG 的,通過stroke和stroke-width來控制描邊顏色和大小,比如
.text{ /*其他*/ stroke-width: 4px; stroke: #333;}
可以得到這樣的效果
和 CSS 表現(xiàn)一樣,都是居中描邊,也無法改變。
不一樣的是,SVG 控制更為靈活,默認(rèn)是先填充、然后再描邊,所以看著是描邊在填充之上,但是,我們可以改變這種規(guī)則,設(shè)置先描邊,再填充,那么填充的顏色就會覆蓋在描邊之上了。SVG 中改變這種規(guī)則的可以通過 paint-order 來設(shè)置。
.text{ /*其他*/ stroke-width: 4px; stroke: #333; paint-order: stroke; /*先描邊*/}
這樣就實現(xiàn)了外描邊效果,是不是比 CSS 方便許多?
(學(xué)習(xí)視頻分享:css視頻教程)
總結(jié)
以上是生活随笔為你收集整理的css3可以加文字描边吗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web前端性能分析--实践篇
- 下一篇: 红外摄像机的功率究竟有多大