强制div到下一行

时间:2015-08-15 19:41:06

标签: html css

我试图获得"页脚" div坐在" main" div,除了它一直出现在它旁边。我只是希望它直接位于前面的div下方(不要强制到底部),除了它似乎总是位于标题下方。

<body>
    <div class="wrapper">
        <div class="header">
            Heading
        </div>
        <div class="main">
            Content
        </div>
        <div class="footer">More details on how you can help coming soon.</div>
    </div>
</body>

CSS:

body {
    background-image: url("./../img/bg.jpg");
    background-repeat: no-repeat;
    background-size: 100%;
    margin: 0;
    padding: 0;
}

.header{
    color: #FFFFFF;
    font-size: 14vw;
    text-align: center;
    font-family: OSWALD;
    font-style: normal;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    width: 100%;
    line-height: 1.2em;
}

.main{
    display: inline-block;
    width: 300px;
    height: 380px;
    overflow: hidden;
    padding: 19px 22px 7px;
    color: #fff;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: "futura-pt", sans-serif;
    letter-spacing: 2px;
    line-height: 45px;
    position: absolute;
    right: 0px;
}

.contact{
    border-top: 6px solid #e2d056;
    border-bottom: 6px solid #e2d056;
    width: 250px;
    margin: 25px 0 0;
    padding: 10px 22px 10px;
    text-align: center;
}

.footer {
    color: #fff;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: "futura-pt", sans-serif;
    letter-spacing: 2px;
    line-height: 25px;
    text-align: left;
    padding-left: 30px;
}

3 个答案:

答案 0 :(得分:0)

您可以完全删除display: inline-block;,因为它似乎没有用处。

如果您仍然需要display: inline-block;,则可以使用.footer { clear: both; }.main { float: left; clear: both; }

答案 1 :(得分:0)

只需将postion:absolute更改为position:relative .main,因为绝对会将div元素排除在布局流之外。

.main {
    position:relative;
}

这是一个包含更新代码的jsfiddle:https://jsfiddle.net/AndrewL32/ewaLf4ct/

答案 2 :(得分:-1)

使用.footer { clear: both; }