css盒子模型

  1. 页面中标签都是一个盒子

  2. 盒子模型的属性
    width :宽度
    height : 高度
    padding :内边距,是盒子内容与边框之间的距离
    margin :外边距,是盒子之间的距离
    border :边框

  3. 盒子模型的计算
    宽度:边框的宽度2 + 内边距2 + 内容的宽度
    高度:边框的宽度2 + 内边距2 + 内容的高度
    保持盒子不变的情况下,当增加内边距的时候,内容的宽度或高度就必须 相应的减少

  4. 属性
    width:宽度 设置宽度
    height:高度 设置高度

    border: 线性宽度 线性样式 颜色
    border-left-width: 设置一边的宽度(上下右一样)
    border-left-style:设置一边的样式(上下右一样)
    border-left-color:设置一边的颜色(上下右一样)
    border-width:设置四边的宽度
    border-width:上宽度 右宽度 下宽度 左宽度
    border-width: 上下宽度 左右宽度
    border-width:上宽度 左右宽度 下宽度
    border-style:设置边框四边的样式 (solid 实线 dotted 点状线 dashed 虚线 double 双线)
    border-style:上边样式 右边样式 下边样式 左边样式
    bordre-style: 上下边样式 左右边样式
    border-style: 上边样式 左右边样式 下边样式
    border-color:设置四边的颜色
    border-color:上边框颜色 右边框颜色 下边框颜色 左边框颜色
    border-color: 上下边框颜色 左右边框颜色
    border-color: 上边框颜色 左右边框颜色 下边框颜色

    padding:内边距
    padding: 上内边距 右内边距 下内边距 左内边距
    padding: 上内边距 左右内边距 下内边距
    padding: 上下内边距 左右内边距
    padding-left: 设置左边内边距
    padding-right:设置右边内边距
    padding-top:设置上边内边距
    padding-bottom:设置下边内边距
    padding在标准文档流下设置内边距没有问题

    margin:外边距
    margin:上外边距 右外边距 下外边距 左外边距
    margin:上下外边距 左右外边距
    margin: 上外边距 左右外边距 下外边距
    margin-left:设置左边的外边距
    margin-right:设置右边的外边距
    margin-top:设置上边的外边距
    margin-bottom:设置下边的外边距
    在标准文档流中,margin在水平方向上的外边距设置没有问题,但是在垂直方向上有塌陷问题,外边距以最大的外边距为基准,在父子盒子中,子盒子在垂直方向上设置外边距时,会和父盒子一起移动,可以使用浮动来解决这个问题,设置浮动之后,就不符合标准文档流,这是外边距就不会出现问题

  5. 初始浮动
    在页面将标签设置浮动之后,页面就变成了非标准文档流,标签不占据文档的大小,标签可以在一行内线性展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .box{
            width: 100%;
            height: 50px;
            background-color: #333;
        }
        .container{
            width: 1500px;
            height: 50px;
            background-color: rgb(0, 140, 255);
            margin-left: auto;
            margin-right: auto;
        }
        .box .l-child{
            width: 500px;
            height: 50px;
            background-color: rgba(197, 66, 66, 0.747);
            float: left;
        }
        .box .r-child{
            width: 100px;
            height: 50px;
            background-color: rgb(214, 10, 214);
            float: right;
        }
        .box .info-child{
            width: 200px;
            height: 50px;
            background-color: green;
            margin-right: 50px;
            float: right;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="container">
            <div class="l-child"></div>
            <div class="r-child"></div>
            <div class="info-child"></div>
        </div>
    </div>
</body>
</html>	
### CSS 盒子模型详解 CSS盒子模型是网页设计和布局中的核心概念之一。它描述了HTML文档结构化的方式以及如何通过样式控制这些元素的空间分配。 #### 1. 盒子模型的组成部分 每个HTML元素都可以看作是一个矩形盒子,该盒子由以下几个部分组成[^1]: - **内容 (Content)**: 这是盒子的主要区域,用于放置文本或其他媒体内容。 - **内边距 (Padding)**: 它位于内容边缘与边框之间的空白区域,用来增加内容周围的可读空间。 - **边框 (Border)**: 边框围绕着内边距和内容,可以设置不同的宽度、颜色和风格来定义边界线。 - **外边距 (Margin)**: 外边距是在边框之外的一片透明区域,用于分隔相邻的盒子并防止它们相互接触。 #### 2. 盒子模型属性 以下是几个重要的盒子模型相关属性及其功能说明: ##### 2.1 `width` 和 `height` 属性 这两个属性分别设定盒子的内容区宽度和高度。需要注意的是,默认情况下,指定的尺寸仅适用于内容区域而不包括 padding, border 或 margin 的值[^2]。 ##### 2.2 `border` 边框属性 可以通过此属性自定义边界的外观,比如粗细、线条样式(实线、虚线等)以及颜色[^3]。 ##### 2.3 `padding` 内边距 用于调整内部填充量,即内容与其周围边框间的距离。它可以单独应用于上、右、下、左各个方向或者统一应用到所有侧面[^1]。 ##### 2.4 `margin` 外边距 负责管理与其他元素之间外部间距的部分。同样支持多向配置,并且当两个垂直 margins 邻近时会发生折叠现象——取两者较大者作为最终间隔[^2]。 ##### 2.5 盒子模型占位计算 总的实际占用面积等于 content area 加上其四周的所有附加层厚度之和。例如给定一个具有固定 width/height 值为100px 的 div 元素加上额外参数如下所示,则实际渲染出来的大小将是 `(100 + 5 + 5 + 20 + 20)` px × `(100 + 5 + 5 + 20 + 20)` px: ```css div { width: 100px; height: 100px; border: 5px solid black; /* 上下左右均为5像素 */ padding: 20px; /* 各侧均设为20像素 */ } ``` #### 3. box-sizing 属性 为了简化复杂布局的设计过程,引入了一个名为 `box-sizing` 的新特性。默认行为遵循传统标准模式 (`content-box`) ,其中声明的 dimensions 不含 paddings/borders;而另一种选项叫做 alternate model(`border-box`) 可让开发者更直观地操作整体尺寸因为此时所指代的就是整个可视范围内的确切数值. ```css /* 使用 border-box 来改变盒模型的行为方式*/ * { box-sizing: border-box; } ``` 以上便是关于CSS盒子模型的一些基本介绍及常见应用场景下的实现方法论探讨。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值