width属性100%和auto的区别

1、width:100%

表示子元素的宽度和父元素的宽度相等,不包括子元素设置的内外边距和边框的值,即子元素的宽度等于父元素content的宽度

代码如下:

    <style>
        .big {
            background-color: pink;
            width: 100px;
            height: 50px;
            padding: 10px;
        }
        
        .box1 {
            width: 100%;
            background-color: green;
        }
        
        .box2 {
            width: 100%;
            background-color: red;
            padding: 10px;
            margin: 10px;
            border: 1px #ffff;
        }
    </style>

<body>
    <div class="big">
        <div class="box1">box1</div>
        <div class="box2">box2</div>
    </div>
</body>

运行结果:

2、width:auto

表示子元素的宽度+内外边距+边框 等于 父元素的宽度

代码如下:

    <style>
        .big {
            background-color: pink;
            width: 100px;
            height: 50px;
            padding: 10px;
        }
        
        .box1 {
            width: auto;
            background-color: green;
        }
        
        .box2 {
            width: auto;
            background-color: red;
            padding: 10px;
            margin: 10px;
            border: 1px #ffff;
        }
    </style>

<body>
    <div class="big">
        <div class="box1">box1</div>
        <div class="box2">box2</div>
    </div>
</body>

运行结果:

总结

无论是 width: 100% 还是 width: auto,都是相对于父元素的 content 宽度来计算的,区别就在于:

width:100% 的元素, width 与父元素的 content 宽度相等
width:auto 的元素,总宽度(加边框+内外边距)与父元素的 content 宽度相等

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐