css之為文本添加線性漸變和外描邊
一、效果:
描邊:
描邊+漸變:
二、描邊:
api:text-stroke
問題:text-stroke的描邊是居中描邊,無法直接設置外描邊
解決:在before中添加文本,設置字體描邊,絕對定位在文本下方
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{background:blue}
h2 {
font-size: 31px;
font-weight: 800;
color: #70b4d9;
position: relative;
z-index: 1;
}
h2::before {
content: attr(data-text);
position: absolute;
-webkit-text-stroke: 6px #fff;
z-index: -1;
}
</style>
</head>
<body>
<h2 data-text="數據采集">數據采集</h2>
</body>
</html>
三、添加漸變
api:
background-image:-webkit-gradient(linear,0% 0%, 0% 100%, from(#999999), to(#333333), color-stop(0.5,#336600)); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
原理:字體漸變的原理是將背景圖片剪切為字體,然后將字體顏色取消。
問題:字體漸變的實質是背景圖片,所以無法在其下面再墊一層背景
解決:給文本套一層span,使漸變為span的背景,然后在父標簽墊描邊背景。
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{background:blue}
h2 {
font-size: 31px;
font-weight: 800;
color: #70b4d9;
position: relative;
z-index: 1;
}
h2>span{
background-image:-webkit-gradient(linear,0% 0%, 0% 100%, from(#999999), to(#333333), color-stop(0.5,#336600));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
h2::before {
content: attr(data-text);
position: absolute;
-webkit-text-stroke: 6px #fff;
z-index: -1;
}
</style>
</head>
<body>
<h2 data-text="數據采集"><span>數據采集</span></h2>
</body>
</html>
鑽研不易,轉載請注明出處、、、、、、
