CSS盒子模型

作用:布局网页,摆放盒子和内容。

1. 盒子模型组成

内容区域:width和height

内边距:padding(出现在内容与盒子边缘之间)

边框线:border

外边距:margin(出现在盒子外面)

2. 边框线

属性名:border

属性值:边框线粗细 线条样式 颜色(不区分顺序)

2.1 常用线条样式

线条样式

属性值

实线

solid

虚线

dashed

点线

dotted

2.2 设置单方向边框线

属性名:border-方向名词(top、right、left、bottom)

属性值:边框线粗细 线条样式 颜色(不区分顺序)

<style>
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
        border-top: 1px solid #888;
        border-right: 2px dashed red;
        border-bottom: 5px dotted green;
        border-left: 10px solid orange;
    }
</style>

3. 内边距

作用:设置内容与盒子边缘之间的距离。

属性名:padding/padding-方位名词

<style>
    div {
        /*四个方向 内边距相同 */
        padding: 30px;
        /*单独设置一个方向内边距*/
        padding-top: 10px;
        padding-right: 20px;
        padding-bottom: 40px;
        padding-left: 80px;
        width: 280px;
        height: 200px;
        background-color: pink;
    }
</style>

padding多值写法

取值个数

示例

含义

一个值

padding: 10px;

四个方向内边距均为10px

四个值

Padding: 10px 20px 40px 0Px;

上:10px;右:20px;下:40px;左:80pX

三个值

padding:10px 40px 80x;

上:10px;左右:40px;下:80pX

两个值

padding:10px 80px;

上下:10px;左右:80px

4. 盒子模型尺寸计算

默认情况:盒子尺寸=内容尺寸+border尺寸+内边距尺寸

结论:给盒子加border和padding会撑大盒子

解决:

  • 手动减法:设置盒子尺寸时减去border和padding的尺寸
  • 内减模式:会自动调整盒子,不会撑大盒子,语法:box-sizing : border-box
<style>
    div {
        width: 200px;
        height: 200px;
        /*手动减法*/
        /* width: 160px;
        height: 160px; */
        background-color: pink;
        padding: 20px;
        box-sizing: border-box;
    }
</style>

5. 外边距

作用:拉开两个盒子之间的距离(不会撑大盒子)

属性名:margin/margin-方位名词,支持多值写法

<style>
    div {
        width: 100px;
        height: 100px;
        background-color: orange;
        /* 外边距,不会撑大盒子 */
        margin-top: 50px;
        margin-left: 100px;
    }
</style>

版心居中效果

<style>
    div {
        width: 100px;
        height: 100px;
        background-color: orange;
        /* 版心居中 */
        margin: 50px auto;
    }
</style>

6. 外边距问题

6.1 外边距合并现象

场景:垂直排列的兄弟元素,上下margin会合并

现象:取两个margin中的较大值生效

6.2 外边距塌陷问题

场景:父子级的标签,子级的添加上外边距会产生塌陷问题。

现象:导致父级一起向下移动。

解决方法:

  • 取消子级margin,父级设置padding(推荐)
  • 出现塌陷问题后,父级设置overflow:hidden
  • 出现塌陷问题后,父级设置border-top

7. 行内元素内外边距问题

场景:行内元素添加margin和padding,无法改变元素垂直位置。

解决方法:给行内元素添加line-height可以改变垂直位置。

<style>
    span {
        /* margin 和 padding 属性,无法改变垂直位置 */
        margin: 50px;
        padding: 20px;
        /*行高可以改变垂直位置 */
        line-height: 100px;
    }
</style>

8. 盒子圆角

作用:设置元素的外边框为圆角。

属性名:border-radius

属性值:数字+px/百分比

<style>
    div {
        width: 100px;
        height: 100px;
        background-color: orange;
        /* 从左上角顺时针赋值,没有赋值的取对角值 */
        border-radius: 20px;
    }
</style>

8.1 正圆形状应用

给正方形盒子设置圆角属性值为宽高的一半/50%。

 

<style>
    img {
        width: 200px;
        height: 200px;
        border-radius: 100px;
        /* 或者 */
        border-radius: 50%;
    }
</style>

8.2 胶囊形状应用

给长方形盒子设置圆角属性值为盒子高度的一半。

<style>
    div {
        width: 200px;
        height: 50px;
        background-color: orange;
        border-radius: 25px;
    }
</style>

9. 盒子阴影

作用:给元素设置阴影效果

属性名:box-shadow

属性值:x轴偏移量 y轴偏移量 模糊半径 扩散半径 颜色 内外阴影

注意:

  • x轴偏移量和Y轴偏移量必须书写
  • 默认是外阴影,内阴影需要添加inset
<style>
    div {
        margin: 5px auto;
        width: 200px;
        height: 80px;
        background-color: orange;
        box-shadow: 2px 5px 10px 1px rgba(0, 0, 0, 0.5)
    }
</style>

10. 元素溢出

作用:控制溢出元素的内容显示方式。

属性名:overflow

属性值

效果

hidden

溢出隐藏(推荐)

scroll

溢出滚动(无论是否溢出,都显示滚动条位置)

auto

溢出滚动(溢出才显示滚动条位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WFIT~SKY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值