盒子大小不起作用

时间:2014-08-02 04:25:13

标签: html css

我正在使用box-sizing属性来对齐容器div中的left div,right div和center div。 div没有对齐。以下是我尝试过的代码。我也试过用px。我正在使用Firefox进行检查。

我还在jsfiddle中添加了http://jsfiddle.net/F9ds9/

    <!DOCTYPE html>
    <html>
    <head>
    <style> 

    .container{  
        width:100%;         
    }

    #left{
        -moz-box-sizing: border-box;
        margin-top:12px;
        float:left;
        border:1px solid #000000;
        width:20%;
    }

    #right{
        -moz-box-sizing: border-box;
        margin-top:12px;
        float:left;
        border:1px solid #000000;
        width:20%;
    }


    #center{
        -moz-box-sizing: border-box;
        margin:12px;
        float:left;
        border:1px solid #000000;
        width:60%;

    }


    </style>
    </head>
    <body>

    <div class="container">
      <div id="left">LEFT</div>
      <div id="center">CENTER</div>
      <div id="right">RIGHT</div>
    </div>

    </body>
    </html>

4 个答案:

答案 0 :(得分:3)

border-box 不是 margin-box (顺便说一下,不存在:)所以只需删除margin:12px;或处理它:)< / p>

this demo 中,我刚刚将margin:12px;的中心元素修改为margin-top:12px;(就像其他元素一样)。如果您需要保证金,您需要对元素的宽度进行一些数学计算!

 _____    _____________    _____
  20%  12px    60%    12px  20%

即使使用border-box也会达到100%+ 24px 的总和

答案 1 :(得分:2)

.container{  
        width:100%;         
    }

    #left{
        -moz-box-sizing: border-box;
        margin-top:12px;
        float:left;
        border:1px solid #000000;
        width:20%;
    }

    #right{
        -moz-box-sizing: border-box;
        margin-top:12px;
        float:left;
        border:1px solid #000000;
        width:20%;
    }


   #center {
    -moz-box-sizing: border-box;
    border: 1px solid #000000;
    float: left;
    margin-top: 12px;
    width: 50%;
}

答案 2 :(得分:0)

<TextField onChange={event => this.handle(event.nativeEvent.text)} label='Amount' value={this.state.amount} keyboardType = 'numeric' enablesReturnKeyAutomatically={true}> </TextField> handle(value){ if(/^\d+$/.test(value)) this.setState({amount: value}) } 或任何使用盒子模型的大小调整框

box-sizing:border-box

查看此演示https://css-tricks.com/box-sizing/#demo     为孩子增加多余的保证金将使这个财产无用

答案 3 :(得分:-1)

请查看fiddle

<body>
    <div class="container">
        <div id="left">LEFT</div>
        <div id="center">CENTER</div>
        <div id="right">RIGHT</div>
    </div>
</body>

有些事情你应该知道

总计:容器的100% 左右:20% 中心:60%

所以总容量100%将进入容器

并且最重要的是你给了边框

因此它将为三个容器增加额外的6px,使其超过容器的100%宽度,因此右侧部分将跳下来。

对于中心容器,你没有给出保证金顶部

请参考您将理解的CSS框建模。 并在firefox中使用firbug进行调试会更容易。