【发布时间】:2012-11-21 23:21:09
【问题描述】:
如何从强制跨度中删除前导,以便 << 上下没有额外的空间。
字段行在默认line-height的文本大小基础上占据一定高度,但必填字段更高,因为字体更大。如何去除<< 上方和下方的多余空白?
.fieldRow { /* for illustration only */
border: solid 1px #f00;
}
.mandatory {
color: #f00;
border: solid 1px #f00; /* for illustration only */
font-size: 24px;
line-height: 0;
vertical-align: middle;
}
<div class="fieldRow">
<label for="select">Some field</label>
<select name="select">
<option>Any</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<span class="mandatory">«</span>
</div>
【问题讨论】:
-
你不能,那个空格是字符的一部分。最好的选择是
display: inline-block; margin-top: -6px;然后删除边框 -
强制跨度与其容器有不同的
font-size,如果您确保它们都具有相同的字体大小,那么空白会少很多 -
还要记住,由于边框的原因,空白区域看起来比实际大 2px
-
一种更可靠的方法是尝试找到一个可以以正常大小使用的字符(可能是箭头字符),或者使用图像。使用引号作为某种箭头会导致这样的问题。