保证金顶部移动我的所有内容

时间:2013-05-30 16:34:34

标签: html css margin

我有这个HTML

<body id="page-id-login" class="">
<div id="viewport" data-am-control="vertical-layout" >
    <div id="container_buttons" data-am-control="vertical-layout" >
        <button class="item_vertical btn" >Twitter dinámico</button>
        <button class="item_vertical btn">Spinner simple</button>
        <button class="item_vertical btn">Spinner personalizado</button>
    </div>
</div><!-- END VIEWPORT-->

</body>

和这个CSS

#viewport{
width: 480px;
height: 600px;
background: linear-gradient(#a8a8a8, #ebebeb);
}

#container_buttons{
padding: 0 10px;
}

.item_vertical{
display:inline-block;
}

.btn{
font-size: 20px;
color: white;
width: 100%;
padding-top: 5px;
padding-bottom: 5px;
background: linear-gradient(#0088cc, #0044cc);
border-style: solid;
border-width: 1px;
border-color:  #0044cc;
border-radius: 5px;
margin-top: 20px;
}

.btn:active{
background: linear-gradient(#0044cc, #0044cc);
border-style: solid;
border-width: 1px;
border-color:  #0044cc;
border-radius: 5px;
}

有了这个我看到了:

http://img805.imageshack.us/img805/3980/capturadepantalla201305i.png

如果我添加#container_buttons:

#container_buttons{
margin: 60px;
padding: 0 10px;
}

margin-top移动所有内容(而不仅仅是div #container_buttons),就像你在这张图片中看到的那样(上面有空格)

http://img20.imageshack.us/img20/6738/capturadepantalla201305iz.png

所以...有没有任何方法只能使用id =“container_buttons”移动div?

谢谢!

2 个答案:

答案 0 :(得分:2)

你的边距正在崩溃,以下是如何解决它:

#viewport {
    overflow:auto;
}

来源:CSS: Margin-top when parent's got no border

参考:http://www.w3.org/TR/CSS2/box.html#collapsing-margins

答案 1 :(得分:0)

你必须做这样的事情:

#viewport{
width: 480px;
height: 600px;
background: linear-gradient(#a8a8a8, #ebebeb);
}

#container_buttons{
    padding-top:10px;
    margin: 10px;
}

.item_vertical{
display:inline-block;
}

.btn{
    margin-bottom: 10px;
font-size: 20px;
color: white;
width: 100%;
background: linear-gradient(#0088cc, #0044cc);
border-style: solid;
border-width: 1px;
border-color:  #0044cc;
border-radius: 5px;
}

.btn:active{
background: linear-gradient(#0044cc, #0044cc);
border-style: solid;
border-width: 1px;
border-color:  #0044cc;
border-radius: 5px;
}

现在结果是正确的。我更改了所有填充和边距选项,因为它们有点混淆。这是一个fiddle的例子。