沉着前进 2018-02-08
今天来介绍下CSS3的文本阴影特效text-shadow,及常见的适用场景和效果展示
【概述】
text-shadow 为文字添加阴影
①可以为文字与 text-decorations 添加多个阴影,阴影值之间用逗号隔开;
②要为每个阴影指定相对文字的偏移量,可选的颜色及模糊半径;
③多个阴影从前往后叠加,第一个阴影在最前面;
④可以应用在::first-line和::first-letter伪元素上
【兼容】
为了兼容各主流浏览器并支持这些主浏览器的较低版本,基于主流浏览器上使用text-shadow属性时,我们需要将属性的名称前面加上前缀,具体为
谷歌和苹果浏览器-webkit-text-shadow的形式;
Firefox浏览器则需要写成-moz-text-shadow的形式;
欧朋(Opera)浏览器 -o-text-shadow;
IE9+需要写成-ms-text-shadow的形式
【详解】
(1)语法
text-shadow:offset-x | offset-y | blur-radius | color
①offset-x指定水平偏移量,若是负值则阴影位于文字左边(必选)
②offset-y 指定垂直偏移量,若是负值则阴影位于文字上面(必选)
如果两者均为0,则阴影位于文字正后方(如果设置了 blur-radius 则会产生模糊效果)
③blur-radius:模糊半径,如果没有指定则默认为0。值越大,模糊半径越大,阴影也就越大越淡(可选)
注意:模糊程度/半径必须为正整数。
④color:阴影的颜色,可以在偏移量之前或之后指定
(2)案例展示
文本阴影分为单阴影和多阴影,下面分开介绍
①单阴影
先来看个简单例子:
p{
text-align:center;
margin:0;
font-family:helvetica,arial,sans-serif;
color:#999;
font-size:80px;
font-weight:bold;
text-shadow:0.1em 0.1em #333;//右下角阴影
/*text-shadow:-0.1em -0.1em #333;//左上角阴影*/
/*text-shadow:-0.1em 0.1em #333;//左下角阴影*/
/*text-shadow:0.1em -0.1em #333;//右上角阴影*/
/*text-shadow:0.1em 0.1em 0.3em #333;//增加模糊效果的阴影*/
/*text-shadow:0.1em 0.1em 0.3em black;//定义文本阴影效果*/
}分别为左上角,右上角,左下角和右下角阴影,以及增加模糊效果,定义文本阴影效果等
②多阴影
阴影叠加,每个阴影之间用逗号隔开。每个阴影效果必须指定阴影偏移值,而模糊半径和阴影颜色是可选参数
案例:燃烧文字特效
p{
text-align:center;
margin:0;
padding:24px;
font-family:helvetica,arial,sans-serif;
font-size:80px;
font-weight:bold;
color:#000;//设置文字颜色
background:#000;//设置背景颜色
text-shadow:0 0 4px white,
0 -5px 4px #ff3,
2px -10px 6px #fd3,
-2px -15px 11px #f80,
2px -25px 18px #f20;//使用阴影叠加出燃烧的文字特效
}
当然,还有其他许多经常看到的,例如:外发光,辉光,投影,浮雕,模糊,扫边,3D等效果。
text-shadow: 0 0 20px red;

text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 40px #ff00de, 0 0 70px #ff00de;

text-shadow: 0 1px 1px #fff;

text-shadow: -1px -1px 0 #fff,1px 1px 0 #333,1px 1px 0 #444;

text-shadow: 0 0 5px #f96;

text-shadow:0 0 6px #F96, -1px -1px #FFF, 1px -1px #444;

text-shadow: 1px 1px 0 #E4F1FF;

text-shadow: 3px 3px 0 red,-3px 3px 0 red,3px -3px 0 red,-3px -3px 0 red;

text-shadow: 1px 1px rgba(197, 223, 248,0.8),2px 2px rgba(197, 223, 248,0.8),3px 3px rgba(197, 223, 248,0.8),4px 4px rgba(197, 223, 248,0.8),5px 5px rgba(197, 223, 248,0.8);

text-shadow: -1px -1px rgba(197, 223, 248,0.8),-2px -2px rgba(197, 223, 248,0.8),-3px -3px rgba(197, 223, 248,0.8),-4px -4px rgba(197, 223, 248,0.8),-5px -5px rgba(197, 223, 248,0.8);

text-shadow: 5px 5px 0 #666, 7px 7px 0 #eee; /*注意:第一个阴影色和背景色相同;文本前景色和第二个阴影色相同*/

最后分享个文本阴影特效应用:黑猫警长首页

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文本阴影</title>
<style type="text/css">
body {/*清除页边距,设计主色调*/
padding: 0px;
margin: 0px;
color: #666;
}
#text-shadow-box {/*设计盒子外框样式*/
position: relative;/*让内部的定位元素以这个框为参照物*/
width: 598px;
height: 406px;
background: #666;
overflow: hidden;/*禁止内容超过设定的区域*/
border: #333 1px solid;
}
#text-shadow-box div.wall {/*设置背景墙样式*/
position: absolute;
width: 100%;
top: 175px;
left: 0px
}
#text {/*设计导航文本样式*/
text-align: center;
line-height: 0.5em;
margin: 0px;
font-family: helvetica, arial, sans-serif;
height: 1px;
color: #999;
font-size: 80px;
font-weight: bold;
text-shadow: 5px -5px 16px #000;
/*设计右上偏移的阴影,适当进行模糊处理,
产生色晕效果,阴影色为深色,营造静谧的效果*/
}
div.wall div {/*设计前面挡风板样式*/
position: absolute;
width: 100%;
height: 300px;
top: 42px;
left: 0px;
background: #999;
}
#spotlight {/*设计覆盖在上面的探照灯效果图*/
position: absolute;
/*设计一个层,让其覆盖在页面上,并使其满窗口显示,
通过前期设计好的一个探照灯背景来营造神秘效果*/
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background: url() center -300px;
}
#spotlight a {
color:#ccc;
text-decoration:none;
position:absolute;
left:47%;
top:56%;
float:left;
}
a img { border:none; }
</style>
</head>
<body>
<!--本案例的结构外套-->
<div id="text-shadow-box">
<!--墙体外结构-->
<div class="wall">
<p id="text">黑猫警长</p>
<div></div>
</div>
<!--外罩,通过他可以为页面覆盖一层桌纸,添加特殊的艺术效果-->
<div id="spotlight"><a href="index.htm"><img src="" /></a></div>
</div>
</body>
</html>.