2016-03-15 3 views
0

Этот кодКаков наилучший способ размещения html divs по горизонтали?

<div id="div1"></div> 
<div id="div2"></div> 
<div id="div3"></div> 
<div id="div4"></div> 

отображает дивы, как это.

div1 
div2 
div3 
div3 

Я хочу, чтобы отобразить их, как

div1 div2 div3 div4 

Количество дивы, размещенной горизонтально не фиксируется и изменяется, так что я не могу писать классы CSS с левой обивкой, шириной и т.д. определен.

Каков наилучший способ сделать это?

+2

дисплей: встроенный блок – silviagreen

+2

использование поплавка: оставил; и ширина: 25%; – Mehar

ответ

1

Использование Flexbox:

.container { 
 
    display:flex; 
 
    flex-direction:row; 
 
} 
 
.container > div { 
 
    border:5px dotted black; 
 
    background:red; 
 
    flex-grow:1; 
 
    padding:2em; 
 
    text-align:center; 
 
}
<div class="container"> 
 
    <div>1</div> 
 
    <div>2</div> 
 
    <div>3</div> 
 
    <div>4</div> 
 
</div>

Some prefixing may be required depending on your target audience.

Learn about all the possibilities here.

+0

Похоже, это работает на меня. Благодаря!!! –

1

Установить стиль отображения на встроенный блок

<div id="div1" style="display:inline-block"></div> 
<div id="div2" style="display:inline-block"></div> 
<div id="div3" style="display:inline-block"></div> 
<div id="div4" style="display:inline-block"></div> 

или еще лучше

<style> 
#div1, #div2, #div3, #div4 { 
    display:inline-block 
} 
</style> 
+2

Если вы используете встроенный поток, вы должны, по крайней мере, использовать 'inline-block' для элемента' div'. –

+0

Да, это правда. Inline не позволит вам установить ширину div. Сделано редактирование – Ody

1

Просто добавьте класс как

<div id="div1" class="inline">lorem</div> 
<div id="div2" class="inline">ipsum</div> 

и в вашем CSS:

.inline { 
float:left; 
} 

Additionaly, вы можете добавить отступы ...

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