Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Что растягивает див дальше вложенного элемента? (https://javascript.ru/forum/xhtml-html-css/32549-chto-rastyagivaet-div-dalshe-vlozhennogo-ehlementa.html)

mister_maxim 20.10.2012 12:49

Что растягивает див дальше вложенного элемента?
 
Делаю сложную верстку, и вот сократил код до минимума, так чтобы показать непонятный для себя эффект, он наблюдается в опере, в гугл хроме и файрфоксе, на осле не проверял.
Значит вопрос: откуда берётся красный огрызок под синим квадратом, что увеличивает высоту внешнего красного дива на 5 пикселей от высоты вложенных?

<!DOCTYPE html>
<html>
	<head>
		<title>красный огрызок</title>
		<meta charset="utf-8">
		<style  type='text/css'>
			.inbl
			{
			padding: 0px; 
			margin: 0px; 
			border: 0px; 
			display: inline-block;
			}
		</style>
	</head>
	<body onload='init();'>
		<div class='inbl' style="background-color:#ff0000;  ">
			<div class='inbl' style="background-color:#00ff00;">
				<div class='inbl' style="background-color:#0000ff;   float: left;  height: 70px; width:70px;">
				</div>
			</div>
		</div>
	</body>
</html>

mister_maxim 20.10.2012 18:24

Насколько я понял сочетать такие вещи как float: left и display: inline-block; в одном элементе нежелательно, по сути последнее делает почти тоже что и первое, так что если убрать первое - нормально отображается только синий квадрат. float - вещь сильно уж мудрёная - она и из потока общего элемент выводит, и отодвигает другие инлайны от себя... насколько я помню когда год назад детально изучал его.

vchmuzh 21.10.2012 17:29

зеленый див, так как он инлайн-блок, оставляет место для хвостиков букв, если задать ему например float:left то все норм будет


Часовой пояс GMT +3, время: 00:56.