У меня есть <div>
, который я хочу быть на линии сам по себе. Согласно W3Schools , это правило:
div.foo {
clear: both;
}
... должно означать это:
«Не допускается использование плавающих элементов ни слева, ни справа.»
Однако, если я пропущу два <div>
элемента влево и приму правило выше к первому, второй не сдвинется с места.
С другой стороны, если я применяю "clear: left"
ко второму <div>
, он перемещается вниз к следующей строке. Это мой обычный подход, но я не понимаю, почему я должен делать это так.
Плохо ли изложено описание W3Schools выше, или я что-то упустил? Может ли правило очистки перемещать только элемент, к которому оно применено?
Ответ
Спасибо Michael S и John D за хорошие объяснения. Уоррен указал на спецификацию CSS2 , и вот где я нашел этот ответ (выделение мое):
Это свойство указывает, какие стороны ящика (ов) элемента не могут быть смежными с ранее плавающим ящиком.
Итак: clear
влияет только на положение элемента, к которому он применяется, относительно элементов, которые появляются перед ним в коде.
Разочаровывает, что я не могу сказать своим <div>
, чтобы другие дивы двигались вниз, но это перерывы. :)