# 利用线性渐变实现下划线
利用线性渐变实现下划线。与传统下划线相比,渐变实现的下划线有更多的可操控性。
- 可控下划线距离底部的距离
- 可控下划线的粗细
- 可控下划线的颜色
- 可添加动画&渐变
HTML:
<hgroup class="underline">
<h1 class="underline1-ajkps">.underline1-ajkpys</h1>
<h1 class="underline2-ajkps">.underline2-ajkpys</h1>
<h1 class="underline3-ajkps">.underline3-ajkpys</h1>
</hgroup>
SCSS:
.underline {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 400px;
height: 200px;
text-align: center;
color: white;
font-size: 200%;
background: #00aabb;
border-radius: 0.5em;
}
.underline1-ajkps,
.underline2-ajkps,
.underline3-ajkps {
height: 100px;
cursor: pointer;
position: absolute;
left: 16%;
text-shadow: 0.1em 0 #00aabb, -0.1em 0 #00aabb;
transition: 1s;
}
.underline1-ajkps {
top: 10%;
background: linear-gradient(white, white) no-repeat;
background-size: 100% 1px;
background-position: -10em 1.15em;
}
.underline1-ajkps:hover {
background-position: 0 1.15em;
}
.underline2-ajkps {
top: 38%;
background: linear-gradient(90deg, white 50%, transparent 0) repeat-x;
background-size: 0.2em 2px;
background-position: -3em 1.15em;
}
.underline2-ajkps:hover {
background-position: 0 1.15em;
}
.underline3-ajkps {
top: 66%;
background:
linear-gradient(-45deg, transparent 40%, white 0, white 60%, transparent 0) 0 1em,
linear-gradient(45deg, transparent 40%, white 0, white 60%, transparent 0) 0.1em 1em;
background-repeat: repeat-x;
background-size: 0.15em 0.1em;
background-position: -3em 1.15em;
}
.underline3-ajkps:hover {
background: linear-gradient(-45deg, transparent 40%, deeppink 0, deeppink 60%, transparent 0) 0 1em,
linear-gradient(45deg, transparent 40%, deeppink 0, deeppink 60%, transparent 0) 0.1em 1em;
background-repeat: repeat-x;
background-size: 0.15em 0.1em;
background-position: 0 1.15em;
}
效果如下(点击 HTML/SCSS
可以对代码进行编辑):
阅读全文