CSS盒子模型

目录

前言

一、盒子的组成

1.外边距

2.内边距

3.边框

4.内容

二、圆角边框

三、盒子阴影

四、文字阴影

总结





前言

CSS的盒子模型是非常重要的,在前端代码编写上回经常用到。




一、盒子的组成

        盒子由四个部分组成,即外边距,边框,内边距和内容。

1.外边距

        首先,我们来看外边距,CSS margin属性用于在任何定义的边框之外,为元素周围创建空间。

        外边距可让块级盒子水平居中,满足一下条件:
        1.盒子指定了宽度(width)
        2.盒子左右的外边距都设置为auto。

        行内元素或者行内块元素水平居中:给其父元素添加text-align:center即可。

        外边距合并:取两值中间较大者这种现象被称为相邻块元素垂直外边距的合并。

        嵌套块元素垂直外边距的塌陷:
        1.为父元素定义上边框
        2.为父元素定义上内边距
        3.为父元素添加overflow:hidden

        复合写法:与padding复合写法一致。

2.内边距

        CSS padding 属性用于在任意定义的边界内的元素内容周围生成空间。

        复合写法:
        padding:5px 10px 20px 30px
        一个值:上下左右都有X像素内边距
        两个值:上下内边距5px 左右内边距10px
        三个值:上内边距5px,左右10px,下内边距20px
        四个值:顺时针

        如果盒子本身没有指定width和height属性,则此时padding不会撑开盒子大小

3.边框

        CSS border 属性允许我们指定元素边框样式,宽度和颜色。

        border-style样式:
        1.solid实现边框
        2.dashed虚线边框
        3.dotted点线边框

        border-width:定义边框粗细,单位px

        border-color:边框颜色

        边框简写:border:width,style,color 没有顺序

        边框分开写:
                border-top:1px solid red(值设定上边框,其余同理)

                border-collapse:控制相邻单元格的边框
                border-collapse:collapse相邻边框合并在一起

4.内容

        用于显示文本和图像等。

二、圆角边框

        border-radius属性用来向盒子添加圆角边框。

        border-radius:lenght
        50%是一半
        圆形的做法:宽度和高度的一半(50%)
        圆角矩形:高度的一半

        设置四个不同的圆角:左上,右上,右下,左下

        设置两个不同的圆角:对角线
 
        分开写:border-top-left-radius...

p {
  border: 2px solid red;
  border-radius: 5px;
}

三、盒子阴影

        CSS box-shadow 属性应用阴影于元素。

        box-shadow:
        1.h-shadow(必须)水平阴影的位置
        2.v-shadow(必须)垂直阴影的位置
        3.blur(可选)。模糊距离
        4.spread(可选)。阴影的尺寸
        5.color(可选)。阴影的颜色
        6.insert(可选)将外部阴影(outset默认不写)改为内部阴影

        最简单的用法是只指定水平阴影和垂直阴影

div {
  box-shadow: 10px 10px;
}

四、文字阴影

        CSS text-shadow 属性为文本添加阴影。

        text-shadow:
        1.h-shadow(必须)水平阴影的位置
        2.v-shadow(必须)垂直阴影的位置
        3.blur(可选)。模糊距离
        4.color(可选)。阴影的颜色

        最简单的用法是只指定水平阴影(2px)和垂直阴影(2px):

h1 {
  text-shadow: 2px 2px;
}




总结

        CSS盒模型本质上是一个盒子,封装周围的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盒子模型的一些基本介绍及常见应用场景下的实现方法论探讨。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值