有没有办法通过CSS将图像高度设置为线条高度?

有没有办法通过CSS将图像高度设置为线条高度?,css,Css,我有一个与文本内联的图像。这张图片是32x32。我正在寻找它自动大小的线的高度,它的所在地,使它适合适当。有办法吗 我希望能够将图像放置在具有未知线高度的任何位置,并使其正确调整大小。如果您明确设置了线高度和线高度,则可以将高度设置为线高度,例如 * { line-height: 1.3; } img { height: 1.3em; } 如果不想设置行高,则需要猜测浏览器默认值(通常取决于字体)。这可能是一个很好的猜测: img { height: 1.12em; } 要使图像与文本正确匹

我有一个与文本内联的图像。这张图片是32x32。我正在寻找它自动大小的线的高度,它的所在地,使它适合适当。有办法吗


我希望能够将图像放置在具有未知线高度的任何位置,并使其正确调整大小。

如果您明确设置了线高度和线高度,则可以将高度设置为线高度,例如

* { line-height: 1.3; }
img { height: 1.3em; }
如果不想设置行高,则需要猜测浏览器默认值(通常取决于字体)。这可能是一个很好的猜测:

img { height: 1.12em; }
要使图像与文本正确匹配,以使其不会导致实际行高增加,还需要将其垂直对齐到行框底部,不对齐到文本基线(更高):


如果需要让图像位于基线上(默认设置),则需要猜测底部和基线之间的距离,并相应地将图像高度设置为较小。在这种情况下,
height:1em
,或者使用较小的值,可能是一个很好的猜测。

使用
img{height:1em;}/*无论您的行高是什么,它都会受到字体大小的影响/*


请参见此(增大或减小字体大小以查看结果)。

此答案不正确。1em是字体大小,而不是行高。对于相同的字体大小,不同的字体有不同的线条高度!例如,对于12pt乘以新罗马体(默认字体),1em等于16px,而行高为18.5px。然而,对于12pt Verdana,1em也等于16px,但线条高度为19.5px。Jukka的第一个示例(设置线条高度)是一致地将图像高度设置为线条高度的唯一方法。还要注意,字体大小和行高之间的关系不仅每个字体不同,而且在相应字体的操作系统之间也可能不同。因此,即使它适合你的电脑,也可能不适合其他人的电脑。
img { vertical-align: bottom; }