Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 为什么要用线条高度来控制填充?_Css - Fatal编程技术网

Css 为什么要用线条高度来控制填充?

Css 为什么要用线条高度来控制填充?,css,Css,我在meyerweb上浏览了这个页面: 我注意到标题中填充的创建方式有些奇怪: h1 {margin: 0; padding: 1em 0.25em 0; font: bold 2.5em Arial, sans-serif; line-height: 0.8em; border-bottom: 1px solid silver; text-align: right; color: #557; letter-spacing: 2px;} 现在,如果删除line height指令,它会在顶部添

我在meyerweb上浏览了这个页面:

我注意到标题中填充的创建方式有些奇怪:

h1 {margin: 0; padding: 1em 0.25em 0; font: bold 2.5em Arial, sans-serif; line-height: 0.8em; border-bottom: 1px solid silver; text-align: right; color: #557; letter-spacing: 2px;}
现在,如果删除line height指令,它会在顶部添加一点填充。因此,线的高度基本上是为了从h1的顶部去除一些填充物。我的问题是:为什么不省去线的高度,把衬垫的顶部从1em改为.9em呢

我意识到在CSS中有很多方法可以剥猫的皮,但是我想如果像meyer这样的专家这样做的话,可能会有一些选择的理由

谢谢,
Jonah

使h1底边与线条之间的间隙变小。

使用小于1em的线条高度的原因实际上与顶部的间距无关,而是与底部边框与线条底部之间的间距有关。也许一个例子可以更好地说明这一点:


如您所见,默认值为1em时,线条略高于字母“p”和“g”的底部,但如果为0.8em,则字母会在字母“a”和“b”的下方升高,这是一个更美观的位置,正如Jeff所说,这并不是为了去掉上面的填充,这是为了使文本稍微重叠在其下方的边框上-在任意方向上更改其边距或填充都不会产生相同的效果。

谢谢!我知道这是有原因的。