![CSS3网页设计从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/800/26846800/b_26846800.jpg)
4.3 文本阴影
使用text-shadow属性可以为文本添加阴影效果,截至目前,Safari、Firefox、Chrome和Opera等主流浏览器都支持该功能。
4.3.1 定义text-shadow
text-shadow属性是在CSS2中定义的,在CSS2.1中被删除,在CSS3的Text模块中又恢复。基本语法如下:
text-shadow: none | <length>{2,3} && <color>?
取值简单说明如下。
none:无阴影,为默认值。
<length>①:第1个长度值用来设置对象的阴影水平偏移值。可以为负值。
<length>②:第2个长度值用来设置对象的阴影垂直偏移值。可以为负值。
<length>③:如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许为负值。
<color>:设置对象阴影的颜色。
【示例】下面为段落文本定义一个简单的阴影效果,演示效果如图4.17所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P102_86193.jpg?sign=1738943684-tKeXwlG3ZyPdsWMyMAhip3Bx2YJU2z1I-0-53181b4153c96020f1fb761d1f280a44)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P103_24744.jpg?sign=1738943684-e1Pe3Bf5WsvT9vIG14haBB1fA7E8lArx-0-08f5dc34fcead92650fbfbb167585b3d)
图4.17 定义文本阴影
“text-shadow: 0.1em 0.1em #333;”声明了右下角文本阴影效果,如果把投影设置到左上角,则可以这样声明:
p {text-shadow: -0.1em -0.1em #333;}
效果如图4.18所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P103_24762.jpg?sign=1738943684-KzFDQw2p9vcOIyJYzTHaVPDF3eZwhCdo-0-6e1d1e853954bf5bd99d4ecc7365a2e7)
图4.18 定义左上角阴影
同理,如果设置阴影在文本的左下角,则可以设置如下样式:
p {text-shadow: -0.1em 0.1em #333;}
演示效果如图4.19所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P103_24763.jpg?sign=1738943684-pOowN8XASACcUkZnfXhTvw0p3vR4O89O-0-33386277a8bf33a3f91a57f93c6231af)
图4.19 定义左下角阴影
也可以增加模糊效果的阴影,效果如图4.20所示。
p{text-shadow: 0.1em 0.1em 0.3em #333;}
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P103_24781.jpg?sign=1738943684-fWh8PhP4iJHVWrt8qmN9gxWmZe6uDFxL-0-fe7a9b1099c69e1fbc0f59d10ae99b87)
图4.20 增加模糊阴影
或者定义如下模糊阴影效果,效果如图4.21所示。
p{text-shadow: 0.1em 0.1em 0.2em black;}
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P103_24782.jpg?sign=1738943684-ln8ZwSudm4ZtCYfyb8ZiHipqxhA1t5aO-0-c5f01fae75a5e4806bde32576f074893)
图4.21 定义模糊阴影
提示:在text-shadow属性的第一个值和第二个值中,正值偏右或偏下,负值偏左或偏上。在阴影偏移之后,可以指定一个模糊半径。模糊半径是个长度值,指出模糊效果的范围。如何计算模糊效果的具体算法并没有指定。在阴影效果的长度值之前或之后还可以选择指定一个颜色值。颜色值会被用作阴影效果的基础。如果没有指定颜色,那么将使用color属性值来替代。
4.3.2 案例:设计特效字
下面结合示例介绍如何灵活使用text-shadow属性设计特效文字效果。
【示例1】下面示例通过阴影把文本颜色与背景色区分开来,让字体看起来更清晰。代码如下,演示效果如图4.22所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P104_86196.jpg?sign=1738943684-XR5inTj3rRhrwYP14syc3SIyKBaLbhci-0-7181dd7e8bfd0debd06474982909b853)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P104_24889.jpg?sign=1738943684-VUFFxqeqGez39xVeyTucKcjWctkWLQkS-0-4a1e5ec28aeb150b09275450ca5fcd3b)
图4.22 使用阴影增加前景色和背景色对比度
【示例2】下面示例演示了如何为红色文本定义3个不同颜色的阴影,演示效果如图4.23所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P104_24890.jpg?sign=1738943684-IWEqTvg2zcauplAC2sP31jURdlGf9TJP-0-ffc00af4692e916adc7b1f49bbcd8f8d)
图4.23 定义多色阴影
当使用text-shadow属性定义多色阴影时,每个阴影效果必须指定阴影偏移,而模糊半径、阴影颜色是可选参数。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P104_86197.jpg?sign=1738943684-xUBgKqsghA0hKaDnRmi3fCeWhEh5cDVI-0-681bd5d557b8227a8e21ebbeef5ba4ba)
提示:text-shadow属性可以接受以逗号分隔的阴影效果列表,并应用到该元素的文本上。阴影效果按照给定的顺序应用,因此可能出现互相覆盖,但是它们永远不会覆盖文本本身。阴影效果不会改变框的尺寸,但可能延伸到它的边界之外。阴影效果的堆叠层次和元素本身的层次是一样的。
【示例3】下面示例演示把阴影设置到文本线框的外面。代码如下,演示效果如图4.24所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P105_86199.jpg?sign=1738943684-BwvxdhmwxFIJM6ys66muKdFPK5JuYoUA-0-f71d0196b7a5b6629da872548c543bde)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P105_25163.jpg?sign=1738943684-OHJvlZLFpYK8fvesr8H3rW7nLncBEn90-0-79041bad4a68119631e0d41f21ff09a2)
图4.24 将阴影设置到文本线框外面
【示例4】下面示例借助阴影效果列表机制,使用阴影叠加出燃烧的文字特效。代码如下,演示效果如图4.25所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P105_86200.jpg?sign=1738943684-A2N7c0m9nnykrnOJz47GRC1Nj55jsngJ-0-ed03773615ef4411d2146607f8a6ed07)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P105_25164.jpg?sign=1738943684-CMaSJfDUS3DmCdsNpabi3wwvtuKfg0s2-0-aca2f4d7eeb5ff86b014fd3bf8ed854e)
图4.25 定义燃烧的文字特效
【示例5】text-shadow属性可以使用在:first-letter和:first-line伪元素上。同时,还可以利用该属性设计立体文本。使用阴影叠加出的立体文本特效代码如下,演示效果如图4.26所示。通过左上和右下各添加一个1px错位的补色阴影,营造出一种淡淡的立体效果。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P106_86201.jpg?sign=1738943684-d4A78hC2ZRUzfTrtGTwnrjIernCFxjXD-0-2c02e012172486331eca7b055d57aa2d)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P106_25378.jpg?sign=1738943684-78mq80bkO9A4cuAQPa6bYV9dwi86rYIV-0-6a56102860680c3c8134bf25aa1be654)
图4.26 定义凸起的文字效果
【示例6】反向思维,利用示例5的设计思路,也可以设计一种凹体效果,设计方法就是把示例5中左上和右下阴影颜色颠倒即可。主要代码如下,演示效果如图4.27所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P106_86202.jpg?sign=1738943684-1Mn6CyQ54ePhgCd7zRyNawUgmW1oTCLU-0-f3ae656d5e34c0d71d0b835f78e41d28)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P106_25379.jpg?sign=1738943684-uuVIqMhldGjQvLYR3vxF4uciaiVVGMf3-0-f63bcaf862730cdfcf969454c4e9959e)
图4.27 定义凹下的文字效果
【示例7】使用text-shadow属性可以为文本描边,设计方法是分别为文本4个边添加1px的实体阴影。代码如下,演示效果如图4.28所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P106_86203.jpg?sign=1738943684-ZitSeFmvA6GBFhbb1aij21c1u2APecIc-0-f389dbae4d04384640a8d8e5364b8c8a)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P107_25611.jpg?sign=1738943684-T9uU4ZOeDkJDUUbDtGYamt945EYtyNJc-0-ed9d37e2a731ecc76de84993a713ca0d)
图4.28 定义描边文字效果
【示例8】设计阴影不发生位移,同时定义阴影模糊显示,这样就可以模拟出文字外发光效果。代码如下,演示效果如图4.29所示。
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P107_86205.jpg?sign=1738943684-8vKRuLs6WE6Qon2jZUpH81QAcLr3vjWl-0-eba981746da132bc0cb5a3a6e4dd23af)
![](https://epubservercos.yuewen.com/F92AA6/15289822105524506/epubprivate/OEBPS/Images/Figure-P107_25612.jpg?sign=1738943684-JmyxEyJTaQsmNq2evtDvvwwGkZuj2RUn-0-8ca8e8230b62bd8d897367cad609d8b7)
图4.29 定义外发光文字效果