2013-07-28 5 views
2

Я хочу сосредоточить содержимое .SideBarFirst div, но не знаю, как этого достичь.Как центрировать элемент внутри div

Может ли кто-нибудь помочь мне с решением, которое не основано на добавлении padding или left/right значений к элементу?

CSS:

body { 
    width: 960px; 
    margin: 0 auto; 
} 

.content { 
    width:500px; 
    float: left; 
} 

.SideBarFirst { 
    width:460px; 
    float: right; 
} 

.SideBarFirst div { 
    width: 40px; 
    margin: 0 auto; 
} 

HTML:

<body> 
    <div class="content">test</div> 
    <div class="SideBarFirst"> 
     <div>not working for center</div> 
    </div> 
</body> 

Мой текущий код: http://jsfiddle.net/mmnaderi/yTCkx/

+0

Сначала удалите ширину и край: 0 auto в теле – Hushme

+0

Вот два простых метода для центрирования элемента внутри div, вертикально, горизонтально или оба (чистый CSS): http://stackoverflow.com/a/31977476/3597276 –

+0

Yup display table и flex не являются безопасным решением для отзывчивого веб-сайта! Пример: показать большое изображение в таблице отображения этой шкалы div и более 100%. –

ответ

0

это проблема браузера и теперь фиксирована.

1

просто удалить это:

body { 
    width: 960px; 
    margin: 0 auto; 
} 

использовать это:

HTML

<div class="content">test</div> 
<div class="SideBarFirst"> 
    <div>not working for center</div> 
</div> 

CSS:

.content {width:500px; float : left;} 

.SideBarFirst {width:460px; float : right;} 

.SideBarFirst div { 
    width: 40px; 
    margin: 0 auto; 
} 

See This Fiddle

+0

что было не так в его css – Hushme

+0

см. Мой ответ снова –

+0

Я видел это, вы только что удалили css из тела – Hushme

0

Вы можете использовать%

.SideBarFirst div { 
    width: 40px; 
    margin: 0 50%; 
} 

Или вы можете быть более грубой и попробовать это:

.SideBarFirst div { 
    width: 40px; 
    margin-left: 210px; 
} 

Эластичная раскладка не будет работать правильно с этим вторым кодом

Или это:

<div class="content">test</div> 
<div class="SideBarFirst"> 
    <div align="center">not working for center</div> 
</div> 

Посмотрите это тоже: How to horizontally center a <div> in another <div>?

0

Ваша проблема в том, что вы перемещаете элемент влево, чтобы он всегда отображался слева. Если вы тусклый центрировать это изменить CSS к этому:

.content {width:500px; float : left;} 

.SideBarFirst {width:460px; float : right;} 

.SideBarFirst div { 
    width: 40px; 
    margin: 0 auto; 
} 

удалить Также это:

body { 
    width: 960px; 
    margin: 0 auto; 
} 
Смежные вопросы