Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[CSS] float:left & overflow

563
22 марта 2010 года
MrLinker
249 / / 17.09.2006
Есть код:
[HTML]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Language" content="ru" />
<title>Title</title>

<style type="text/css">

/* Left block */
#cleft {
width: 300px;
float: left;
border: 1px solid red;
}

/* Right block */
#ccontent {
margin-left: 320px;
overflow: hidden;
border: 1px solid green;
}

/* Other */
div.clear {
clear: both;
}

</style>

</head>

<body>

<div id="cleft">Left block</div>
<div id="ccontent">Right block</div>
<div class="clear"></div>

</body>

</html>[/HTML]
Любопытно как ведут себя некоторые браузеры (Opera, Chrome, Safari). Если блоку ccontent указать стиль overflow, Opera считает левый отступ второго блока относительно первого, а не от родителя. Chrome и Safari делает отступ справа.
Сходу не могу понять логику, глюк это, или нормальное поведение и я не знаю каких-то особенностей применения этих стилей?
13
22 марта 2010 года
RussianSpy
3.0K / / 04.07.2006
Все дело в умолчальных стилях, которые браузеры приписывают блокам.
Указывайте явно float'ы и position'ы.

Если хотите, чтобы поведение было предсказуемым во всех браузерах (я не имею ввиду ИЕ - там отдельная история) - прописывайте всё, ничего не оставляйте недосказанным в стилях.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог