2016-10-04 2 views
0

Я где-то читал, что плавание не рекомендуется, за исключением его первоначального использования, которое должно плавать изображения вокруг текста.Лучшая практика для замены css float, это позиция: абсолютная?

Так я делаю вывод, что, чтобы сделать свой ребенок Дива пребывания справа от моего родительского DIV, вместо того, чтобы использовать

child-div { 
    float: right; 
} 

следует использовать

parent-div { 
    position: relative; 
} 
child-div { 
    position: absolute; 
    right: 0; 
} 

Это самая лучшая практикой, чтобы заменить плавать?

Что делать, если у меня есть 5 дочерних элементов в одной строке? Что я должен использовать для замены float?

Спасибо.
В случае, если этот вопрос дублирует другие, дайте мне знать

+0

использование 'float' свойство подобный в этой ситуации,' позиция: absolute' не подходит для этой области, –

ответ

1

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

Пример HTML:

<div class="parent-div"> 
    <div class="child-div">Some text</div> 
    <div class="child-div">Some text</div> 
    <div class="child-div">Some text</div> 
    <div class="child-div">Some text</div> 
    <div class="child-div">Some text</div> 
</div> 

Пример CSS:

.parent-div:after { clear: both; display: table; content: ""; } 
.child-div { float: left; } 

В качестве альтернативы, вы можете использовать display: inline-block вместо поплавка.

+0

спасибо, Линда. Не могли бы вы объяснить немного больше на дисплее: inline-block? – Sean

+1

Конечно! Он дает элементам свойства отображения: блок, но строит их. Таким образом, вам не нужно очищать контейнер. Подробнее об этом можно узнать здесь: http://www.w3schools.com/css/css_inline-block.asp Остерегайтесь! Он поддерживается только в IE8 и выше. Поэтому, если вам нужна поддержка IE7 с плавающей точкой. –

1

Вы можете использовать flexbox в 2016 году;

.parent { display: flex; justify-content: flex-end }
<div class="parent"> 
 
    <div style="background:red">000</div> 
 
    <div style="background:green">111</div> 
 
    <div style="background:yellow">222</div> 
 
    <div style="background:tomato">333</div> 
 
</div>

Ofc вы можете добавить некоторые стили поэтому они имеют некоторое пространство между ними (ребенок дивы)

+0

спасибо, тень. просто прочитайте несколько сайтов по flex на основе вашей рекомендации. это отличное решение. только это может не поддерживать старый браузер и старые библиотеки, что может быть другой проблемой. поэтому я решил не использовать его. – Sean

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