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>
钻研不易,转载请注明出处、、、、、、
css之为文本添加线性渐变和外描边
原文地址:https://www.cnblogs.com/s313139232/p/10530634.html