2017-01-11 2 views
2

In css2.1 spec, он говорит:Что такое содержащий блок плавающих элементов?

перемещаемого окно не смещается влево или вправо, пока его внешний край коснется содержащий блок край или внешний край другого поплавка.

Интересно, что содержащий блок из плавающих элементов, и я испытываю:

body { 
    position: relative; 
    margin: 5px; 
    padding: 10px; 
} 

p { 
    float: left; 
    position: absolute; 
    margin: 10px; 
} 

<body> 
    <p>hehe</p> 
</body> 

Согласно css2.1 spec, содержащий блок Абсолютной позиционируемый элемент является заполнение ячейки для ближайшего Позиционируется блочного контейнера.

Но в приведенном выше коде плавающий элемент перемещается на границу области содержимого. Я смущен, как найти содержащий блок плавающего элемента.

+0

Вам нужно добавить другие элементы. 'position: absolute;' не требуется. он будет сортировать отменять поплавок в зависимости от того, как вы его используете. Если вы поместите границу на свой элемент, вы увидите ее границу border: solid blue; ' – Andrew

ответ

1

Посылка вашего вопроса ошибочна. Абсолютно позиционированный элемент не может плавать, и поплавок не может быть абсолютно позиционирован. Из section 9.7:

[...] если «позиция» имеет значение «абсолютное» или «фиксированных», коробка абсолютно позиционирован, вычисленное значение «плавать», не «ни» [ ...]

Таким образом, вы не пытаетесь найти содержащийся блок поплавка здесь. Вы пытаетесь найти содержащий блок элемента.

Сказав, что, если вы действительно должны знать, содержащий блок поплавка такой же, как для относительно позиционированных или не расположенных элементов, как я описал в my answer to your previous question, поскольку поплавки не могут быть исключены.

Смежные вопросы