【CSS】下划线与⽂字间距,下划线粗细以及下划线颜⾊的设置
最开始的时候了解下划线的属性是:
text-decoration:underline;
但是,很遗憾的是,对于设计做的下划线⽤浏览器默认属性样式很难调整,使⽤这个属性并不能调整下划线与⽂字的间距,⽽且对于下划线的颜⾊也不好调整,⽽使⽤<u></u>这个标签也是同样的效果。
例⼦:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>默认下划线</title>
<style>
.test-underline {
text-decoration: underline;
}
</style>
</head>
<body>
<p>
<a class="test-underline">⽤text-underline 属性设置下划线</a>
</p>
<p>
<u>⽤<u>;标签设置下划线</u>
</p>
</body>
</html>
效果图:
后来在多次测试中,发现<span></span>可以很⽅便解决问题,span使⽤padding-bottom和border-bottom不会影响整体的布局。
在⽂字外加上span标签,再给span标签设置padding-bottom和border-bottom属性的值,padding-bottom可以很⽅便调整下划线与⽂字的间距,⽐如padding-bottom: 5px,下划线的颜⾊与粗细⽤border-bottom就可以改变,⽐如:border-bottom: 2px solid #f89,如下:
span {
padding-bottom: 5px;
border-bottom: 2px solid #f89;
}
利⽤这种⽅法,发现下⾯这种下划线很容易制作下划线,简单例⼦:
完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>⽤span制作下划线</title>
<style>
body {
body {
padding: 0;
margin: 0;
font-family: "Microsoft Yahei";
}
ul {
list-style: none;
padding-left: 0;
margin: 0;
}
/
*清除浮动*/
.clearfix {
*zoom: 1;
}
.clearfix:before,.clearfix:after {
display: table;
line-height: 0;
content:  "";
}
.clearfox:after {
clear: both;
}
.nav {
width: 600px;
}
.nav li {
float:left;
}
.nav a {
box-sizing: border-box;
display: inline-block;
text-align: center;
width: 100px;
height: 50px;
color: #fff;
padding: 12px 5px;
background: #424a58;
text-decoration: none;
cursor: pointer;
}
.nav a.active>span ,  .nav a:hover>span {
/*关键代码*/
padding-bottom: 5px;
border-bottom:  2px solid #fff;
}
</style>
</head>
<body>
<div>
<ul class="nav clearfix">
<li><a class="active"><span>套装模板</span></a></li>  <li><a><span>标题</span></a></li>
<li><a><span>图⽚</span></a></li>
<li><a><span>背景图</span></a></li>
<li><a><span>卡⽚</span></a></li>
<li><a><span>分割线</span></a></li>
<li><a><span>关注和原⽂</span></a></li>
borderbox
<li><a><span>名⽚</span></a></li>
<li><a><span>其他</span></a></li>
<li><a><span>贴纸</span></a></li>
<li><a><span>布局</span></a></li>
<li><a><span>布局</span></a></li>
<li><a><span>零件</span></a></li>
</ul>
</div>
</body>
</html>
效果图:
通过span设置下划线的关键代码:
.nav a.active>span ,  .nav a:hover>span {
padding-bottom: 5px;
border-bottom:  2px solid #fff;
}
改变下划线间距和颜⾊,也不影响整体布局:
.nav a.active>span, .nav a:hover>span {
padding-bottom: 9px;
border-bottom: 2px solid #48C2F9;
}
完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>⽤span制作下划线</title>
<style>
body {
padding: 0;
margin: 0;
font-family: "Microsoft Yahei";
}
ul {
list-style: none;
padding-left: 0;
margin: 0;
}
/*清除浮动*/
.
clearfix {
*zoom: 1;
}
.clearfix:before,.clearfix:after {
display: table;
line-height: 0;
content:  "";
}
.clearfox:after {
clear: both;
}
.
nav {
width: 600px;
}
.nav li {
float:left;
}
.nav a {
box-sizing: border-box;
display: inline-block;
text-align: center;
width: 100px;
height: 50px;
color: #fff;
padding: 12px 5px;
background: #424a58;
text-decoration: none;
cursor: pointer;
}
.nav a.active>span ,  .nav a:hover>span {
padding-bottom: 8px;
border-bottom:  2px solid #fff;
}
</style>
</head>
<body>
<div>
<ul class="nav clearfix">
<li><a class="active"><span>套装模板</span></a></li>
<li><a><span>标题</span></a></li>
<li><a><span>图⽚</span></a></li>
<li><a><span>背景图</span></a></li>
<li><a><span>卡⽚</span></a></li>
<li><a><span>分割线</span></a></li>
<li><a><span>关注和原⽂</span></a></li>
<li><a><span>名⽚</span></a></li>
<li><a><span>其他</span></a></li>
<li><a><span>贴纸</span></a></li>
<li><a><span>布局</span></a></li>
<li><a><span>零件</span></a></li>
</ul>
</div>
</body>
</html>
《CSS揭秘》中也有⼀些下划线⾃定义的⽅法:
(1)⽤border-bottom
a[href]{
border-bottom: 1px solid gray;
text-decoration: none;
}
(2)⽤display:inline和line-height⼀起来调整与⽂本得间隙
display: inline-block;
border-bottom: 1px solid gray;
line-height: .9;
(3)还可以⽤box-shadow来模拟下划线
box-shadow: 0 -1px gray inset;
例⼦:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>《CSS揭秘》⾃定义下划线</title>
<style>
body {
font-family: "Microsoft Yahei";
}
a {
text-decoration: none;
color: #000;
}
.underline1 {
border-bottom: 1px solid gray;
}
.underline2 {
display: inline-block;
border-bottom: 1px solid gray;
line-height: .9;
}
.
underline3 {
box-shadow: 0 -1px gray inset;
}
</style>
</head>
<body>
<p>
<a class="underline1" href="#">
⽤border-bottom 来⾃定义下划线
</a>
</p>
<p>
<a class="underline2">
⽤display:inline-block 和 line-height 调整下划线间距  </a>
</p>
<p>
<a class="underline3">
⽤box-shadow 模拟下划线
</a>
</p>
</body>
</html>
效果如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。