基于CSS盒模型的页面布局

盒模型

说盒模型之前先看代码:

<head>
    <style type="text/css">
        .c{
    
     
            height: 100px;
            width: 100px;
            border: solid 50px gray;
            padding: 50px;
            margin: 50px;
            color: red;
        } 
    </style>
</head>
<body>
    <div class="c">
        盒模型
    </div>
</body>

代码显示效果:
在这里插入图片描述
对于浏览器而言,任何标签都是里面装着东西(内容)的盒子,比如文本、图片等标签。
(1)上图中整个天蓝色区域就是内容,“盒模型”三个字就是内容的一部分。
图中的橙色线条量取的就是内容的宽高,height是指内容的高度,width是指内容的宽度。
内容的周围通常环绕着装饰盒子的不同属性。如padding、border、margin等。
(2)图中的绿色线条量取的就是padding的宽度,padding是指内容与边框线之间隔开的那部分空间。图中天蓝色和灰色之间的白色区域就是padding。
(3)图中的红色线条量取的就是border的宽度,border是指盒子周边的直线,可以4个边都有一条边框线也可任意几边。图中灰色区域就是border。
(4)图中的蓝色线条量取的就是margin的宽度,margin是指一个标签和另一个标签的间隔。图中灰色区域以外,宽度50px的白色区域就是margin。

宽高

内容的宽高

宽度:width
高度:height
注意width和height属性仅仅设置了内容的宽高,即图中的天蓝色区域宽高,不含padding和border。

元素占据浏览器视图的宽高

图中元素占据浏览器的屏幕空间宽高,宽度:width+左右padding+左右margin,高度:height+上下padding+上下margin。

尽量不要指定元素宽高

尽量不要使用height属性,除非准确知道该元素的高度,如图片元素。对于文本等元素不要使用height属性,尽管当前可能没有文本溢出,但调节浏览器尺寸、放大字号后文本就可能溢出。

宽高使用百分比

设置元素的height、width值为百分比形式,则元素的高度、宽度是以其父元素的高度、宽度的百分比计算的。
如某个div宽度为200px,内部有一个子元素div,子元素div宽度设置width:75%,则子元素的宽度是200*(75%)=150px。

おすすめ

転載: blog.csdn.net/JWbonze/article/details/121194620