Я показываю две панели DIV с приведенным ниже кодом. Единственная разница между этими двумя панелями заключается в том, что элемент SPAN в первом элементе DIV имеет стиль font-size: 14px
, применяемый к нему, тогда как элемент второго элемента DIV не имеет этого стиля. На Firefox, а также на Chrome, первая панель имеет большую высоту, чем вторая. Вот демонстрационный URL: http://jsfiddle.net/UWX2u/
Ниже приведена копия кода:
<!DOCTYPE html>
<html>
<head>
<title>Margin border</title>
<style type="text/css">
body {
line-height: 38px;
font-size: 32px;
}
#panel1 {
background: #00a000;
float: left;
}
#panel2 {
background: orange;
float: left;
}
#panel1 p span {
font-size: 14px;
}
</style>
</head>
<body>
<div id="panel1">
<p>Foo <span>Bar</span></p>
</div>
<div id="panel2">
<p>Foo <span>Bar</span></p>
</div>
</body>
</html>
С Firebug я мог видеть, что вычисленная высота элемента P в первом DIV равна 44.1833px, а для элемента P во втором DIV - 38px. Почему это происходит?
Если я удалю свойство line-height: 38px
из CSS, оба элемента DIV имеют одинаковую высоту. Вот страница, которая демонстрирует это: http://jsfiddle.net/FJUDn/