Html 氢气转换不工作

Html 氢气转换不工作,html,css,xhtml,pixel,em,Html,Css,Xhtml,Pixel,Em,我正在尝试转换元素。字体大小转换可以很好地工作,但是边距转换做得不太好 以下是我的尝试: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style type="text/css"> .box{

我正在尝试转换元素。字体大小转换可以很好地工作,但是边距转换做得不太好

以下是我的尝试:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
<html>
    <head>
    <style type="text/css">
    .box{
        font-size:30px;
        margin:23px 0;
        font-weight:bold;

    }
    </style>
    </head>

<body>

</head>
<body>

<div class="box">Some text here</div>

</body>
</html>

.盒子{
字体大小:30px;
利润率:23px0;
字体大小:粗体;
}
这里有一些文字
与之相比:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
<html>
    <head>
    <style type="text/css">
    body{
        font-size:20px;
    }
    </style>
    </head>

<body>

</head>
<body>

<h2>Some text here</h2>

</body>
</html>

身体{
字体大小:20px;
}
这里有一些文字
如您所见,在浏览器中查看时,H2和.box文本具有相同的字体大小


这是不正确的,应该是24px。我犯了什么错误

默认情况下,所有浏览器都会预设
div
元素的
margin
属性,而
font-size
属性则不会预设。要覆盖它,您需要更具体地使用以下命令:

div.box { font-size:30px; margin:23px 0; font-weight:bold; }

您为主体设置字体大小,其他元素将继承该字体大小,但h2由浏览器内部由用户代理css预设,具体如“专用性”中所述,并优先于您为主体设置的字体大小


例如,如果使用Firebug,您将看到浏览器已将h2设置为浏览器中的某个值。如果您想更改它,您需要指定
h2{font size:24px}
,就像您在另一个示例中对div所做的那样。div没有浏览器设置的字体大小。

为什么应该是24px?您的计算是正确的,.75em等于22.5px您可以使用.77em(23/30)来确保浏览器不会向下取整。在浏览器中查看时,H2和.box中的文本没有完全对齐-它们相差1px,这听起来没什么大不了的,但我需要它完全相同。