html - 行高和字体大小的关系

标签 html css

这对我来说很难纠正,但让我试试。

我有水平 ul li a 菜单:

请注意,我省略了一些保持简单的 CSS

<ul>
    <li class='featuring'><a href='#'>Whatever</a></li>
    <li class='empty-item'></li>
    <li><a href='#'>Item1</a></li>
    <li><a href='#'>Item2</a></li>
    ...
</ul> 

ul li a{
    line-height: 2.4em;
    font-size: 1.1em;
    ...
}
ul li.empty-item{
    border-top: 1.7em solid white;
    border-bottom: 1.7em solid white;
    border-left: 1em solid #240B3B;
}

上面的代码给出了这个: nav-menu

这很棒,除了我想更改 kindle 字体大小所以我添加:

ul li.featuring a{
    font-size: 1.4em;
    ...
}

出现不需要的失真:

nav-menu2

我想我对行高属性的了解还不够?我虽然在更改 ul li.featuring a 字体大小后容器大小将保持不变,只有目标元素内的字体大小会发生变化,但元素的高度会发生变化,同时将其余菜单项保持相同比例并退出的同步。 我想到的是 line-height(3.4em) 和 font-size(1.4em) difference(2em) 被减半并均匀分布,这意味着容器高度不会改变???

希望它是清楚的。

谢谢。

最佳答案

我确信你现在已经有了答案,但由于没有人跳过这个,我会试一试。

这与其说是 line-height 的问题,不如说是相对 VS 绝对测量单位的问题。

em 是基于字体大小的相对度量单位。当您增加字体大小时,您会增加所有以 em 衡量的属性值,例如此处的 line-height

使用像 px 这样的绝对单位不会根据字体大小而改变:

关于html - 行高和字体大小的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868565/

相关文章:

css - Divs 在调整大小时彼此重叠(HTML CSS)

javascript - 将CMS添加到我现有的网站?

html - IE8 div 在悬停时可见,但在嵌入式选择具有焦点时消失

javascript - 如果在线 css 文件的链接失效,请使用本地 css 文件

javascript - Web Audio API 事件是否在单独的线程中运行?

使用 Ember 的 HTML5 范围输入

html - 在背景叠加层上显示 div

javascript - 保护 SPA 中的 HTML 元素

css - Bootstrap 面板标题 - 水平对齐控件

jquery - Datepicker 仅适用于两位数的输入