Есть ли способ избавиться от границы на
элемент в IE6 без переноса его в другой элемент? К сожалению, другим требованием является отсутствие хаков.
Мне удалось сделать это для всех браузеров, стилизовав границу следующим образом:
hr.clear {
clear: both;
border: 1px solid transparent;
height: 0px;
}
И все же IE6 по-прежнему отображает 1-пиксельную белую линию.
display: none
не работает, потому что вы полностью удаляете
из потока элементов. Это заставляет его перестать очищать ваши поплавки.
Если вы не против полностью скрыть это, просто используйте вместо этого visibility: hidden
. Он по-прежнему будет очищать числа с плавающей запятой, и это работает для всех IE:
hr {
clear: both;
visibility: hidden;
}
Проблема в том, что IE не считает границы
«границами». Если вы установите
border: 1px #f0f solid;
... он добавит границу цвета фуксии вокруг существующей скошенной границы. К счастью, Firefox и IE8 отображают это одинаково и понимают, что border: 0;
означает, что мне не нужна граница. К сожалению, IE 7 и более ранние версии этого не делают.
Итак, чтобы ответить на ваш вопрос ... нет ... нет способа избавиться от границы на элементе
в IE6 , не оборачивая его другим элементом или не взламывая (по своему опыту я не нашел способа сделать это).
Вы можете заключить Вариант 1: Вариант 2: Вариант 3 ... проверьте это: http://blog.neatlysliced.com/2008/03/hr-image-replacement/ Извините, что IE (более старые версии) не играет по правилам. Надеюсь, это поможет.
в
color
значение этого цвета фона или используйте изображения для фона.
<div style="height:1px; background: transparent;">
<hr style="display:none;" />
</div>
hr.clear {
border: 0 none;
height: 1px;
color: #ffffff; /* if your bg is white, otherwise choose the right color */
}