CSS3 盒子模型

20 篇文章 0 订阅

盒子模型

  • 所有元素都可以有宽高
  • 所有元素都是一个矩形
  • 所有元素都看成一个盒子
  • 盒子包括:外边距+边框+内边距+元素内容

在这里插入图片描述

外边距设置

围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”

行级元素只有左右外边距,没有上下外边距

块级元素和行内块级元素外边距4个方向都有效

外边距要素

  • 外边距的方向:top bottom left right
  • 外边距尺寸:合法的尺寸单位,百分比

外边距语法

margin-方向:外边距尺寸;

  • 使用百分比时,参考的是父级的尺寸
  • 使用正值时,元素领地会扩张,使用负值时,元素领地会收缩

同时设置4个方向外边距

margin:10px 20px 30px 40px;:上 右 下 左(外边距)

margin:10px 20px 30px;:上 左右 下(外边距)

margin:10px 20px;:上下 左右(外边距)

margin:10px;:4个方向(外边距)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距设置</title>
    <style type="text/css">
        .box{
            background: #00ff00; width: 200px; height: 100px;
            /* margin-top: 50px;
            margin-bottom: 50px;
            margin-left: 50px;
            margin-right: 50px; */

            margin: 10px;
        }
    </style>
</head>
<body>
    <div style="background: red; height: 50px;"></div>
    <div class="box"></div>
    <div style="background: blue; height: 50px;"></div>
</body>
</html>

外边距的合并

  • 当两个元素上下排列时,上下外边距会合并,它们将形成一个外边距,合并后的外边距取两者中最大值
  • 当两个元素左右排列时,左右外边距会叠加

内边距设置

所有元素都可以设置内边距

内边距要素

  • 内边距的方向:top bottom left right
  • 内边距尺寸:合法的尺寸单位,百分比

内边距语法

padding-方向:内边距尺寸;

  • 使用百分比时,参考的是父级的尺寸
  • 内边距不能设置负值

同时设置4个方向内边距

padding:10px 20px 30px 40px;:上 右 下 左(内边距)

padding:10px 20px 30px;:上 左右 下(内边距)

padding:10px 20px;:上下 左右(内边距)

padding:10px;:4个方向(内边距)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内边距设置</title>
    <style type="text/css">
        span{
            background: #00ff00; border: 1px solid black;
            /* padding-left: 30px;
            padding-bottom: 30px;
            padding-right: 30px;
            padding-top: 30px; */

            padding: 30px;
        }
    </style>
</head>
<body>
    <div style="height: 50px;"></div>

    <span>内边距设置</span>
</body>
</html>

box-sizing 属性

正常情况下,内边距和边框是在元素设置的宽度和高度之外进行绘制

box-sizing:content-box | border-box

  • content-box:默认值,元素的宽高不包含边框和内边距
  • border-box:元素的宽高包含边框和内边距

元素尺寸

  • height:设置元素的高度。属性值:auto(默认,自动识别高度)、px (像素)、cm、百分比等单位定义高度

  • width:设置元素的宽度。属性值:auto、px、cm、百分比

  • max-height:设置元素的最大高度。属性值:auto、px、cm、百分比

  • max-width:设置元素的最大宽度。属性值:auto、px、cm、百分比

  • min-height:设置元素的最小高度。属性值:auto、px、cm、百分比

  • min-width:设置元素的最小宽度。属性值:auto、px、cm、百分比

溢出隐藏

如果内容溢出了元素内容区域,是否对内容的边缘进行裁剪

overflow:visible | hidden | scroll | auto

  • visible:默认值,内容不会被修剪,会显示在元素框之外
  • hidden:内容会被修剪,并且溢出的内容不可见
  • scroll:内容会被修剪,同时会显示滚动条,以便查看溢出的内容
  • auto:当内容大于元素框时,内容会被修剪并显示滚动条;当内容小于元素框时,不会显示滚动条

元素居中

margin:0 auto; 元素水平居中,只对块级元素有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值