我在使用em单位的填充物时遇到了问题. 我有一个带有h5标签的div

<div id="myDiv">
    <h5>
        my header
    </h5>
</div>

并使用此css

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}


#myDiv{
    font-size: 32px;
}

 #myDiv h5{
        background-color: red;
        color: white;
        padding: 1em;
    }

我应该希望填充大小等于32px,但当我在浏览器上打开判断时 我看到根据下图计算的填充

enter image description here

填充大小为13.280px

但是,当我使用div或section而不是h5时,可以很好地工作.

推荐答案

em取决于它所在的元素的font-size.这意味着,如果你有以下几点;

.example {
    font-size: 20px;
    padding: 4em;
}

那么填充将是80px.

默认情况下,div和section标记的默认字体大小为16px.默认情况下,h5的字体大小为13.28 px.来源.改用h4(默认为16px)或将h5的字体大小设置为16px.

#myDiv h5{
    background-color: red;
    color: white;
    font-size: 16px;
    padding: 1em;
}

注意:这些值可能会因浏览器而略有不同.

你可以在这里看到这一点;

let h1 = document.querySelector("h1");
let div = document.querySelector("div");
let section = document.querySelector("section");
let h5 = document.querySelector("h5");
let h4 = document.querySelector("h4");

console.table({ "h1": window.getComputedStyle(h1).getPropertyValue('font-size'), "div": window.getComputedStyle(div).getPropertyValue('font-size'), "section": window.getComputedStyle(section).getPropertyValue('font-size'), "h5": window.getComputedStyle(h5).getPropertyValue('font-size'), "h4": window.getComputedStyle(h4).getPropertyValue('font-size') });
<h1>Hi</h1>
<div>Hi</div>
<section>Hi</section>
<h5>Hi</h5>
<h4>Hi</h4>

Html相关问答推荐

我需要两个HTML标签,以便当另一个隐藏时,一个可见,反之亦然

弹性项在主轴方向溢出

动态FormControl值在Angular 上绑定错误的问题

MatSnackBar: colored颜色 不起作用

如何使用HTML和css代码在vb.net上打印POS

摆动的html标签

Django中的图像未从静态显示

如果DIV没有特定的sibling 姐妹,则以CSS为目标

平移变换下的SVG剪辑路径行为

如何保持块扩展以填充视口?

样式化单选按钮 背景 colored颜色

pandas `to_html()` - 如何只使特定的行有边框

将背景图像裁剪成两半

如何在 svelte 中对静态 html 文件使用href=

每次按下按钮时减小字体大小的 jquery 函数

变换元素以适应高度(Angular,SCSS)

如何向上移动图像并溢出图像的一部分而另一部分不溢出

我可以将两个元素之间的所有空间都放在弹性框或网格中吗?

所有幻灯片上的 Quarto RevealJS 标题

如何将图像高度设置为等于文本高度?