当窗口调整大小时,浮动Div标签将换行到新行

时间:2014-06-08 12:08:34

标签: css positioning

我有两个div想要在同一行上浮动。我不希望正确的一个包裹,直到窗口宽约250px。

我将div的初始宽度设置为百分比,这似乎导致了问题。正确的div将在收缩到最小宽度100px之前很好地换行到新行;

<div id="#container">
    <div id="left">
        <div id="box"></div>
    </div>
    <div id="right">
        <h1>Hello World</h1>
    </div>
</div>

#container {
    display: table;
    width: 100%;
}
#box {
    width: 100px;
    height: 100px;
    background: gray;
    display: inline-block;
    max-width: 100%;
}
#left {
    float: left;
    width: 23.6%;
    min-width:150px;
    background: gold;
    text-align: center;
}
#right {
    float: left;
    width: 76.4%;
    min-width:100px;
    background: pink;
}

http://jsfiddle.net/5C6GB/

2 个答案:

答案 0 :(得分:1)

删除右侧div的宽度部分解决了问题。

但看起来我不得不使用display:table*

http://jsfiddle.net/5C6GB/3/

<div id="container">
    <div class="tr">
        <div id="left" class="td">
            <div id="box"></div>
        </div>
        <div id="right" class="td">
            <!-- <h1>Hello World</h1> -->
        </div>
    </div>
</div>

#container {
    display: table;
    width: 100%;
    background: red;
    height: 100px;
}
#box {
    width: 100px;
    height: 100px;
    background: gray;
    display: inline-block;
    max-width: 100%;
}
#left {
    width: 25%;
    min-width:150px;
    background: gold;
    text-align: center;
    height: 100%;
}
#right {
    min-width:100px;
    background: pink;
    width: 75%;
    vertical-align: bottom;
}
.tr {
    display: table-row;
    width: 100%;
}
.td {
    display: table-cell;
}


@media only screen and (max-width: 600px) { 
    #left, #right {
        display:block;
        width: 100%;
        min-height: 100px;
    }
    .tr {
        display: block;
    }
    #container {
        display: block;
    }
}

答案 1 :(得分:0)

左div中的min-width:150px;导致右div在收缩到最小宽度100px之前很好地换行到新行;

#left {
    float: left;
    width: 23.6%;
    min-width:150px; /*remove  or change this to a smaller amount */
    background: gold;
    text-align: center;
}

<强> FIDDLE