HTML CSS шпаргалка Рецепты, статьи, советы, приемы html css

Трехпиксельный отступ в ие6 после float элементов

Есть такая проблема в ие6, если после float элементов, пусть это будет например картинка 50 на 50 пикселей с float:left, пустить текст например в теге p с margin-left:60px, то у текста слева в ие6 появляется лишний трехпиксельный отступ на высоту float элемента. Как с этим бороться, я вам сейчас покажу.

Итак, пусть, например, есть такой код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!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=utf-8" />
<title>Трехпиксельный отступ в ие6 после float элементов</title>
<style type="text/css">
.box {
	width:300px;
	border:1px dotted #090;
}
.left {
	width:50px;
	height:50px;
	float:left;
	background:#999;
}
p {
	font-size:12px;
	margin:0 0 0 60px;
	padding:0;
}
</style>
</head>
<body>
<div class="box">
  <div class="left"></div>
  <p>Лишь великие события создают Отступ ие6. «Если часто увлекаться, в Отступ ие6 можно потеряться»... Сетовать на Отступ ие6 нечего. Просто таков порядок вещей, именуемых современной цивилизацией. Долго я думал, говорить про Отступ ие6 или нет, решил все-таки попробовать с надеждой, что меня поймут правильно. В России сформировалось поколение молодежи, которое сильно отличается от своих предшественников. Девиз: «Отступ ие6 зависит от тебя», – остался в 90-х. Поколение 2000-х отвергает массовую культуру и безудержное потребительство. Для современной молодежи более актуален слоган «Отступ ие6 от тебя не зависит». Отступ ие6 – это как в незнакомом помещении дверь без вывески. Понятно, что это – дверь, но непонятно, куда она ведёт. Друг не всегда Отступ ие6, но Отступ ие6 всегда друг. Отступ ие6 друг – это знают все вокруг! Так часто бывает – несешь человеку счастье, а приносишь Отступ ие6. Храните Отступ ие6 под подушкой. А вот «6еи путсто» – это Отступ ие6 наоборот.</p>
</div>
</body>
</html>

Согласно этому коду, див с классом left должен быть слева, а текст — справа. Также текст должен быть выровнен ровно по левому краю, отставая от него на 60px. Но вот в ие6 появляется лишний отступ на высоту float элемента:

Трехпиксельный отступ в ие6 после float элементов

Решается проблема добавлением противоположного отрицательного маргина, равной ширине float элементу:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!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=utf-8" />
<title>Трехпиксельный отступ в ие6 после float элементов</title>
<style type="text/css">
.box {
	width:300px;
	border:1px dotted #090;
}
.left {
	width:50px;
	height:50px;
	float:left;
	background:#999;
	margin-right:-50px; /* Ухты, даже как хак через подчеркивание оформлять не надо, везде работает, не ожидал =) */
}
p {
	font-size:12px;
	margin:0 0 0 60px;
	padding:0;
}
</style>
</head>
<body>
<div class="box">
  <div class="left"></div>
  <p>Лишь великие события создают Отступ ие6. «Если часто увлекаться, в Отступ ие6 можно потеряться»... Сетовать на Отступ ие6 нечего. Просто таков порядок вещей, именуемых современной цивилизацией. Долго я думал, говорить про Отступ ие6 или нет, решил все-таки попробовать с надеждой, что меня поймут правильно. В России сформировалось поколение молодежи, которое сильно отличается от своих предшественников. Девиз: «Отступ ие6 зависит от тебя», – остался в 90-х. Поколение 2000-х отвергает массовую культуру и безудержное потребительство. Для современной молодежи более актуален слоган «Отступ ие6 от тебя не зависит». Отступ ие6 – это как в незнакомом помещении дверь без вывески. Понятно, что это – дверь, но непонятно, куда она ведёт. Друг не всегда Отступ ие6, но Отступ ие6 всегда друг. Отступ ие6 друг – это знают все вокруг! Так часто бывает – несешь человеку счастье, а приносишь Отступ ие6. Храните Отступ ие6 под подушкой. А вот «6еи путсто» – это Отступ ие6 наоборот.</p>
</div>
</body>
</html>

Вот результат, проблема решена:

Трехпиксельный отступ в ие6 после float элементов - проблема решена

Комментарии (2) на “Трехпиксельный отступ в ие6 после float элементов”

  • Метод действительно работает. Советую… Пользуйтесь…

  • Миллион раз читал и слышал про данный баг «браузера», но сам никогда с ним не сталкивался.

    Сегодня столкнулся, сразу начал копать, попал сюда, нашел ответ, вообщем благодарю

Оставить комментарий

Для вставки кода используйте <code> ... </code>.



Самые комментируемые

Облако тегов

Нет тегов найденных по заданным критериям.

Опрос