由于您可以在CSS中下划线任何文本,如下所示:
h4 {
text-decoration: underline;
}
那么如何编辑绘制的“线”并使其更加粗细呢? 线上的颜色可以通过 color: red
轻松指定,但是如何编辑线的高度(即粗细)呢?
以下是实现此目的的一种方法:
HTML:
<h4>This is a heading</h4>
<h4><u>This is another heading</u></h4>
CSS:
u {
text-decoration: none;
border-bottom: 10px solid black;
}
这里有一个例子:http://jsfiddle.net/AQ9rL/
<span>
包装,并在其中应用border-bottom。虽然这是一种解决方法,但在非硬编码场景中可能会很痛苦。 - Fabiándisplay: inline;
来实现这个效果(但它将不再是任何块级元素了,但可能对某些人有帮助)。 - jave.web最近我不得不处理FF的下划线太厚,离文本太远的问题,并找到了使用一对box-shadow更好的解决方法:
.custom-underline{
box-shadow: inset 0 0px 0 white, inset 0 -1px 0 black
}
将第一个阴影放在第二个阴影上方,通过改变两者的“px”值来控制第二个阴影。
优点:可以使用各种颜色、厚度和下划线位置。
缺点:不能在非实心背景上使用。
这里有几个示例:http://jsfiddle.net/xsL6rktx/
目前在CSS Text Decoration Module Level 4中有一个名为text-decoration-thickness
的属性,它用于设置在元素中使用的装饰线(如删除线、下划线或上划线)的粗细或宽度。该属性处于“编辑者草案”阶段,因此仍在进行中且可能会有所更改。截至2022年10月,该属性已经覆盖了约93%,因此可以放心使用。
text-decoration-thickness
CSS 属性可用于设置元素中文本所使用的装饰线(如删除线、下划线或上划线)的粗细或宽度。
a {
text-decoration-thickness: 2px;
}
Codepen: https://codepen.io/mrotaru/pen/yLyLOgr(仅限Firefox浏览器)
还有text-decoration-color
,它是CSS文本修饰模块3级的一部分(CSS Text Decoration Module Level 3)。这更成熟(候选推荐),并且在大多数主流浏览器中得到支持(IE和Edge除外)。当然,它不能用于改变线条的粗细,但可以用于实现更柔和的下划线效果(也在代码笔记中展示)。
text-decoration
中访问。我不知道是否计划将其包含在所有浏览器中,但如果是这样的话,未来会非常好。编辑:这是一个工作草案,支持在text-decoration
中实现此功能。 - Stormblessed非常容易将字体设置为蓝色,并且可以添加小字号和带下划线的“span”元素外,还可以在“font”元素内增加更大的字体大小。
<span style="font-size:1em;text-decoration:underline;">
<span style="font-size:1.5em;">
Text with big font size and thin underline
</span>
</span>
span
ж ҮзӯҫжқҘжӣҝд»ЈиҝҮж—¶зҡ„<font>
ж ҮзӯҫпјҢиҝҷе°ҶжҳҜе”ҜдёҖдёҖдёӘзңҹжӯЈеӣһзӯ”иҝҷдёӘй—®йўҳзҡ„зӯ”жЎҲгҖӮ - matteo另一种方法是在您想要下划线的元素上使用“:after”(伪元素)。
h2 {
position:relative;
display:inline-block;
font-weight:700;
font-family:arial,sans-serif;
text-transform:uppercase;
font-size:3em;
}
h2:after {
content:"";
position:absolute;
left:0;
bottom:0;
right:0;
margin:auto;
background:#000;
height:1px;
}
我会做一些简单的事情,比如:
.thickness-underline {
display: inline-block;
text-decoration: none;
border-bottom: 1px solid black;
margin-bottom: -1px;
}
line-height
或padding-bottom
来设置它们之间的间距。display: inline
。示例:http://jsfiddle.net/5580pqe8/
background-image
也可以用于创建下划线。这种方法可以处理换行。
必须通过background-position
向下移动,并在水平方向上重复。使用background-size
可以在一定程度上调整线宽(背景被限制为元素的内容框)。
.underline
{
--color: green;
font-size: 40px;
background-image: linear-gradient(var(--color) 0%, var(--color) 100%);
background-repeat: repeat-x;
background-position: 0 1.05em;
background-size: 2px 5px;
}
<span class="underline">
Underlined<br/>
Text
</span>
a {
text-decoration: none;
position: relative;
}
a.underline {
text-decoration: underline;
}
a.shadow {
box-shadow: inset 0 -4px 0 white, inset 0 -4.5px 0 blue;
}
<h1><a href="#" class="underline">Default: some text alpha gamma<br>the quick brown fox</a></h1>
<p>Working:</p>
<h1><a href="#" class="shadow">Using Shadow: some text alpha gamma<br>the quick brown fox<br>even works with<br>multiple lines</a></h1>
<br>
a.shadow {
box-shadow: inset 0 -4px 0 white, inset 0 -4.5px 0 blue;
}
我的解决方案: https://codepen.io/SOLESHOE/pen/QqJXYj
{
display: inline-block;
border-bottom: 1px solid;
padding-bottom: 0;
line-height: 70%;
}
您可以使用line-height值来调整下划线的位置,使用border-bottom来设置下划线的粗细和风格。
请注意,如果要在href中添加下划线,请禁用默认的下划线行为。
h4 {border-bottom: 10px solid #000;}
- Pranav 웃display:inline-block
来确保宽度被设置,但是,在<h4>
内部使用一个元素并对其进行样式设置会更好。请查看下面的答案。 - Pranav 웃