一行文本的CSS高度是多少?它不’;看起来不太好
看看这把小提琴:一行文本的CSS高度是多少?它不’;看起来不太好,css,em,Css,Em,看看这把小提琴: 功能切换(事件){ var element=document.getElementById('changeme'); element.innerText=element.innerText?“”:“一些文本”; } button=document.getElementById('button'); button.onclick=切换 #更改我{ 最小高度:1米; 轮廓:1px纯红; } 动态更改内容 这不应该移动(上下)线条高度的精确计算很复杂(参见CSS 2.1第10节)
功能切换(事件){
var element=document.getElementById('changeme');
element.innerText=element.innerText?“”:“一些文本”;
}
button=document.getElementById('button');
button.onclick=切换代码>
#更改我{
最小高度:1米;
轮廓:1px纯红;
}
动态更改内容
这不应该移动(上下)
线条高度的精确计算很复杂(参见CSS 2.1第10节),但在这样一个简单的情况下,当元素不为空时,高度由线条高度
值确定。当它为空时,高度将为空,但minheight
设置将高度强制为字体大小(1em
)
的初始值取决于浏览器,并且预计也取决于字体。默认值实际上总是大于字体大小。这就解释了这里发生的事情
要保持高度恒定,最好明确设置其行高度
,并将最小高度
设置为相同的值,例如:
#changeme {
line-height: 1.25em;
min-height: 1.25em;
}
注:em
单位是指字体的大小,根据定义是字体的高度。这是一个参考量,通常与任何字母的高度(或宽度)不对应;大多数字母的高度都小于字体大小(尽管这会因字母和字体而异)。默认的行高
为正常
(该属性的有效CSS值)。很遗憾,您不能将min height
设置为该值
除了正常
,行高
可以有固定的长度值(此处不感兴趣)或与字体大小相关的因素。有趣的是,normal
的数字等价物不仅仅依赖于浏览器。对于不同的字体面和字体大小,它通常介于1.0和1.5之间(无单位)
因此,将min height
设置为介于1em和1.5em之间的漂亮值。然后将行高设置为相同的值,以确保其实际相同
请注意,对于行高
而言,使用em单位或小于em单位的值的含义相同:前者是相对于当前字体大小的固定长度,后者是相对于。。。字体大小。在大多数web浏览器中,行高的默认值是1.2
/1.2em
或120%
。正如@HashemQolami所说:相关问题:看看我在CSS 2.1的第10.6.1节中也找到了什么:“注意:CSS的级别3可能会包含一个属性,用于选择内容高度使用的字体度量值。”。。。