Потому что размер вашего фрейма слишком мал. Когда вы играете с полосой прокрутки iframe, вы можете видеть 3 цвета. Увеличьте ширину и высоту вашего фрейма, и они все появятся.
Здесь я изменил style="width: 200px; height: 200px;"
на style="width: 1000px; height: 1000px;"
Различие - который другие атрибуты стиля Вы наследовали. Конечно, каждый наследовался <br>
и другой от <div>
.
Обычно <div>
не имеет никаких специальных последствий стиля кроме display:block
тогда как <br>
подразумевает разрыв строки и некоторую ненулевую высоту (связанный с высотой текущего шрифта).
Но часто (например, с повсеместным css-reset
техника) нет approximentally никакого различия. Поэтому выберите тот, который имеет самый семантический смысл.
[ОБНОВЛЕНИЕ]
Для закрывающих тэгов использовать <div></div>
и нет <div/>
. Вот то, почему.
Благодаря комментаторам Sebastian Celis и ephemient для исправления "закрывающего тэга".
Это - стиль, который я использую для очистки:
.Clear { clear: both; height: 0; overflow: hidden; }
Использование:
<div class="Clear"></div>
Это не займет дополнительного места на странице, поскольку высота является нулем.
Internet Explorer имеет странную идею, что содержание каждого элемента должно быть по крайней мере одним символом высоко и другой странной идеей, что каждый элемент должен быть настолько же высоким, как это довольно. Используя overflow: hidden
мешает содержанию влиять на размер элемента.
Ну, нет никакого различия, в зависимости от унаследованных стилей.
Это связывается, говорит еще немного и рекомендует: http://www.positioniseverything.net/easyclearing.html
Единственная разница, о которой я могу думать здесь, является этим <div>
элемент блочного уровня, в то время как <br>
элемент встроенного уровня.
Но <br>
на самом деле ведет себя несколько как элемент блочного уровня, кроме того, что он произведен line-height
и font-size
Свойства CSS.
По-моему, <br style="clear:both;"/>
более надлежащий путь состоит в том, чтобы поместить разрыв строки в Вашу страницу, главным образом потому что это широко принято и легко идентифицируется другими, которые не могут быть знакомы с Вашей разметкой.
Это - то, что я всегда использую:
<style type="text/css">
.clearing {
height: 0;
line-height: 0;
font-size: 0;
clear: both;
overflow:hidden;
}
</style>
И где мне нужна очистка:
<div class="clearing"></div>
Можно также интересоваться самоочищающимися контейнерами: http://www.positioniseverything.net/easyclearing.html
Править: Добавленный "overflow:hidden" на предложение из другого плаката ответа.
Действительно необходимо быть осторожны относительно / на теге.
У меня были проблемы с наклонной чертой на <сценарий> тег, завершенный <язык сценария = "JavaScript" src = "MyScripts.js"/> путь. Хотя, большинство xml совместимых синтаксических анализаторов приняло бы обоих.
<сценарий> должен быть завершен </сценарий>
.clear {ясный: оба; размер шрифта: 0px; высота строки: 0px; высота: 0px; overflow:hidden;}
Использование
"br" иногда имеет побочные эффекты в Opera и браузерах IE, таким образом, необходимо избегать использования его
Если Вы пишете (допустимый) XHTML, Вы не должны использовать закрывающий тэг, но сам закрывающий теги Div не работают во всех браузерах, таким образом, необходимо все еще использовать его. т.е. Ваш пример:
`<div style="clear:both;"> </div>`
Это - допустимый XHTML (см. HTML по сравнению с xhtml), но не работает во всех браузерах, таким образом, необходимо придерживаться вышеупомянутого:
<div style="clear:both;" />
также, Если это имеет значение <br>
тег удерживается от использования в пользу <line>
тег (см. запись w3.org на <br/>
тег)
Все методы плохи. Используйте CSS для изменения появления страницы. Существует много методов для выполнения того же с CSS. Такой как предоставление "переполнения: скрытый"; на родительском элементе.
<br />
встроенный элемент, где как <div>
элемент блока. Так или иначе я лично предпочитаю использовать <hr class="clear">
, Я чувствую, что это более семантически соответствует.
Вы могли также использовать..