我在使用text-decoration: underline
的两个跨度上遇到inline-block
问题。 [问题是,只有URL的一部分会在悬停时加下划线,另一部分不会。我需要保留显示属性,否则text-overflow
将无法应用(请参阅:Text-overflow: ellipsis alignment issue)
HTML:
<div class="details" itemscope itemtype="http://data-vocabulary.org/Product">
<h2>
<a class="heading" href="/product/acmesw" title="Acme Super Widget">
<span class="trunc" itemprop="name">Acme Super Widget 3000</span>
<span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer">- <meta itemprop="currency" content="AUD" /><spanitemprop="price">$199.95</span></span>
</a>
</h2>
</div>
CSS:
.details {
width:300px;
border:1px solid red;
}
.trunc {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width:60%;
}
h2 span {
display:inline-block;
vertical-align:top;
}
a:hover{
text-decoration:underline;
color:red;
}
jsFiddle:http://jsfiddle.net/c7p8w/2/
答案 0 :(得分:6)
按CSS specs,下划线不会影响已设置text-decoration: underline
的元素内的内联块。
您可以通过为其明确设置为下划线加下划线,例如,通过选择列表a:hover
替换上一个CSS规则中的选择器a:hover, a:hover *
。
但这不会影响省略号符号。它不是任何元素内容的一部分,而是由浏览器插入,所以我认为你不能强调它。
答案 1 :(得分:3)
如何使用border-bottom
为文字加下划线?
a {
text-decoration:none;
border-bottom: 1px solid blue; /*Remove this if you want it only on hover*/
}
a:hover {
text-decoration:none;
border-bottom: 1px solid red;
color:red;
}
答案 2 :(得分:1)
添加这些css?
.details h2{
border-bottom:1px solid #fff; /*use the same color as your .details background color*/
}
.details h2:hover {
border-bottom:1px solid #f00;
}
请参阅jsfiddel上的DEMO ... http://jsfiddle.net/c7p8w/14/