2013-07-12 2 views
1

У меня есть следующая проблема:Div элемент меняет положение (маржа) родительский DIV

У меня есть DIV элемент с фоновым изображением, которое позиция в точности, как я хочу. Но когда я добавляю в него дочерний div, он изменяется. (Theres небольшой запас наверху)

Я хочу знать, почему это происходит и как это исправить.

CSS код:

body,html{ 
    height:100%; 
} 

body { 
    margin: 0; 
    background-color: green; 
    background: url(../images/backround_red.png) no-repeat center center fixed; 
    background-size: cover; 
} 

div#mainWrapper { 
    position: relative; 
    text-align: center; 
    margin: auto; 
    width: 70em; 
    height:100%; 
    background: url(../images/header.jpg) no-repeat center center fixed; 
    background-size: cover; 
    padding-left: 4em; 
} 

div#loginWrapper { 
    position: relative; 
    top: 15%; 
    margin: 0; 
} 

скриншоты:

без childdiv: enter image description here

с childdiv: enter image description here

JSFiddle: http://jsfiddle.net/DUtb4/

+0

изменение вашего ребенка 'маржинального-top' к' отступа-top' –

+0

что вы имеете в виду? –

+0

Обычно это вызвано верхним краем дочернего элемента. добавьте свою разметку и, возможно, jsFiddle, чтобы я мог точно знать –

ответ

1

Вы должны переопределить по умолчанию16px из margin-top и margin-bottom из <p> элемента.

Добавить это в CSS

#loginWrapper > p { 
    margin: 0; 
} 

Demo: http://jsfiddle.net/DUtb4/3/

0

Попробуйте изменить mainWrapper к:

div#mainWrapper { 
    position: relative; 
    text-align: center; 
    margin: 0 auto; /* Added a 0 to the beginning */ 
    width: 70em; 
    height:100%; 
    background: url(../images/header.jpg) no-repeat center center fixed; 
    background-size: cover; 
    padding-left: 4em; 
} 

Также добавьте утеплитель: 0; телу тега.

+0

спасибо за ваш ответ, но это, к сожалению, не решило проблему , –

1

Вы помещаете это поверх css, это поможет вам.

* { 
    margin : 0; 
    padding : 0; 
} 

this is here done changes on your content

+0

Это решило: D Спасибо! –

+0

Это должно использоваться только для отладки, это тяжелый и опасный селектор ... он говорит, что примените «margin 0» и «padding 0» ко всему, везде ...;) –

+0

@AndreaLigios Или вы можете сделать это как что здесь, в текущей ситуации, используйте его на элементе div. padding: 0 и margin: 0; или создать класс quickfix. и помещаем внутри него maring и padding 0, и используйте там, где это необходимо. –