锚标签上的边框底部,适用于多行和内联块/块显示
Border bottom on anchor tags, which works on multiple lines and with inline block / block display
我的网站上有一些锚标记,根据设计,我需要添加 'custom' 下划线。
问题是,当 link 文本分成多行时,底部边框仅适用于底线/锚点底部。我可以通过给锚 links 一个内联显示来解决这个问题,但是我失去了给他们一个 margin top 的能力。
有什么方法可以给 link 一个 2px 的下划线,并跨多行工作,同时还能给他们一个边距顶部?
示例fiddle:
https://jsfiddle.net/mjxfzrwk/
代码以防万一:
.custom-underline {
border-bottom: 2px solid red;
display: inline-block;
margin-top: 20px;
}
.standard-underline {
text-decoration: underline;
display: inline-block;
margin-top: 20px;
}
.inline {
display: inline;
}
.container {
width: 100px;
}
a {
text-decoration: none;
line-height: 29px;
font-size: 20px;
}
<div class="container">
<a class="custom-underline" href="">This has a good underline</a>
<br/>
<a class="standard-underline" href="">This has a standard underline</a>
<br />
<a class="custom-underline inline" href="">This has a good underline but display inline removed top margin</a>
</div>
那么对于颜色你可以使用这个
a{
text-decoration: underline;
-moz-text-decoration-color: red; /* Code for Firefox */
text-decoration-color: red;
}
但是间距的事情不能用text-decoration:underline
来完成
您也可以将文本包裹在 span
内,然后将 border-bottom
应用到 span
a {
width: 100px;
display: block;
text-decoration: none;
margin-top: 50px;
}
span {
border-bottom: 2px solid red;
}
<a href=""><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt, quisquam.</span></a>
您可以使用如下所示的 :before
伪元素。 Updated fiddle
.inline:before{
content: ' ';
display: block;
margin-top: 20px;
}
使用显示内联方法作为代码中的最后一个选项,然后尝试在 css
中添加以下样式
.inline:before{
content: " ";
height:20px;
display: block;
}
我的网站上有一些锚标记,根据设计,我需要添加 'custom' 下划线。
问题是,当 link 文本分成多行时,底部边框仅适用于底线/锚点底部。我可以通过给锚 links 一个内联显示来解决这个问题,但是我失去了给他们一个 margin top 的能力。
有什么方法可以给 link 一个 2px 的下划线,并跨多行工作,同时还能给他们一个边距顶部?
示例fiddle:
https://jsfiddle.net/mjxfzrwk/
代码以防万一:
.custom-underline {
border-bottom: 2px solid red;
display: inline-block;
margin-top: 20px;
}
.standard-underline {
text-decoration: underline;
display: inline-block;
margin-top: 20px;
}
.inline {
display: inline;
}
.container {
width: 100px;
}
a {
text-decoration: none;
line-height: 29px;
font-size: 20px;
}
<div class="container">
<a class="custom-underline" href="">This has a good underline</a>
<br/>
<a class="standard-underline" href="">This has a standard underline</a>
<br />
<a class="custom-underline inline" href="">This has a good underline but display inline removed top margin</a>
</div>
那么对于颜色你可以使用这个
a{
text-decoration: underline;
-moz-text-decoration-color: red; /* Code for Firefox */
text-decoration-color: red;
}
但是间距的事情不能用text-decoration:underline
您也可以将文本包裹在 span
内,然后将 border-bottom
应用到 span
a {
width: 100px;
display: block;
text-decoration: none;
margin-top: 50px;
}
span {
border-bottom: 2px solid red;
}
<a href=""><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt, quisquam.</span></a>
您可以使用如下所示的 :before
伪元素。 Updated fiddle
.inline:before{
content: ' ';
display: block;
margin-top: 20px;
}
使用显示内联方法作为代码中的最后一个选项,然后尝试在 css
中添加以下样式.inline:before{
content: " ";
height:20px;
display: block;
}