盒子模型及边距

第三章CSS——盒子模型



一、盒子模型

CSS 盒子模型(Box Model)
所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

<!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>Document</title>
</head>
<body>
    
    <!-- 盒子模型:margin(外边距),border(边框),padding(内边距),元素宽高(width,height) -->
    <!-- 盒子模型语法对于块标签等有宽有高的元素是有效的,但是某些语法对于行标签是没有作用的 -->
    <!-- 查看一个元素的盒子模型,需要打开浏览器的开发者工具,右下角的图片就是当前元素的盒子模型 -->
    <!-- 每个元素都有自己的默认样式,也可以通过盒子模型查看的到 -->
    <!-- body默认有8px的外边距 -->
</body>
</html>

二、边距

padding 属性: 设置元素的内边距(也称填充),即元素内容与元素边框之间的间距。
margin 属性: 设置元素的外边距,即元素与其他相邻元素之间的间距。

设置元素上、右、下、左内外边距的属性:

内边距属性(padding)作用外边距属性(margin)作用
padding-left左内边距margin-left左外边距
padding-right右内边距margin-right右外边距
padding-top上内边距margin-top上外边距
padding-bottom下内边距margin-bottom下外边距

padding 和 margin 属性的值:

属性值作用
auto让浏览器自动计算边距。使用此属性值在某些情况下会将元素或元素内容居中对齐
length使用具体的数值和单位设置边距,如px(像素)、cm(厘米)等单位。默认值是0px
%以父元素宽度的百分比计算边距
inherit从父元素继承边距

1.内边距(padding 属性)

padding 属性组合使用示例:

参数值个数示例说明
1padding:1px;设置上下左右的内边距为1像素
2padding:1px 2px;设置上下边距为1像素,左右边距为2像素
3padding:1px 2px 3px;设置上边距为1像素,左右边距为2像素,下边距为3像素
4padding:1px 2px 3px 4px;设置上边距为1像素,右边距为2像素,下边距为3像素,左边距为4像素(顺时针方向
<!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>Document</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: red;
            /* 原容器设置内边距会使容器变大 */
            /* 所以容器设置内边距需要在页面规划时设置好,否则会影响容器面积导致页面变形 */
            /* 内边距指的是内部元素与外部容器边界的距离 */
            /* 参数的个数及其方向与外边距,边框等一样 */
             /* 一个参数:表示上下左右4个方向的外边距 */
            /* 两个参数:第一个参数为上下边距,第二个参数为左右边距 */
            /* 三个参数:第一个参数为上边距,第二个参数为左右边距,第三个参数为下边距 */
            /* 四个参数:第一个参数为上边距,第二个参数为右边距,第三个参数为下边距,第四个参数为左边距 → 上右下左(顺时针) */
            padding: 20px 30px 40px 50px;
        }
    </style>
</head>
<body>
    <div>
        Solidigm是SK海力士收购英特尔NAND闪存业务后组建的全新公司,在今年4月份, Solidigm发布了成立后的首首批产品——面向数据中心和企业级应用的固态硬盘D7-P5520和D7-P5620。
    </div>
    
</body>
</html>

2.外边距(margin 属性)

margin 属性组合使用示例:

参数值个数示例说明
1margin:1px;设置上下左右的外边距为1像素
2margin:1px 2px;设置上下边距为1像素,左右边距为2像素
3margin:1px 2px 3px;设置上边距为1像素,左右边距为2像素,下边距为3像素
4margin:1px 2px 3px 4px;设置上边距为1像素,右边距为2像素,下边距为3像素,左边距为4像素(顺时针方向
<!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>Document</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: red;
            /* 对于一个元素来讲,如果设置左边距,就不要设置右边距,设置上边距,就不要设置下边距 */
            /* 设置左外边距,元素会向右移动 */
            /* margin-left: 8px; */
            /* 设置上外边距,元素会向下移动 */
            /* margin-top: 10px; */
            /* 一个参数:表示上下左右4个方向的外边距 */
            /* 两个参数:第一个参数为上下边距,第二个参数为左右边距 */
            /* 三个参数:第一个参数为上边距,第二个参数为左右边距,第三个参数为下边距 */
            /* 四个参数:第一个参数为上边距,第二个参数为右边距,第三个参数为下边距,第四个参数为左边距 → 上右下左(顺时针) */
            /* margin: 20px 30px 40px 50px; */
            /* 外边距指的是当前元素与外部的距离,与当前元素的内部元素无关 */
            /* margin-top: 20px; */

            /* 定宽居中,设置上下边距,左右自适应(居中) */
            /* 使用定宽居中的必要条件是当前元素必须有一个确定的宽度 */
            margin: 20px auto;
        }
        
        /* span{
            margin: 20px auto;
        } */
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>

    <span>Solidigm是SK海力士收购英特尔NAND闪存业务后组建的全新公司,在今年4月份, Solidigm发布了成立后的首首批产品——面向数据中心和企业级应用的固态硬盘D7-P5520和D7-P5620。</span>
</body>
</html>

3.边框

<!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>Document</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: lavender;
            margin: 20px auto;
            /* 边框有3个参数,大小,样式,颜色 */
            /* 边框的方向可以拆分,也可以合在一起 */
            border-left: 3px solid red;
            border-right: 5px dotted blue;
            border-top: 8px double green;
            border-bottom: 10px dashed yellow;
        }
        section{
            width: 200px;
            height: 200px;
            background-color: lavender;
            margin: 20px auto;
            /* 边框的简写,直接表示4个方向的边框 */
            border: 10px solid red;
        }

        section:hover{
            /* 取消边框 */
            border: none;
        }

        main{
            width: 200px;
            height: 200px;
            background-color: rgb(79, 79, 194);
            margin: 20px auto;
            /* 圆角,单位可以是固定的像素,也可以是百分比,50%时正方形就会变成圆形 */
            /* 圆角参数所表示的含义与内外边距,边框等一样都是上右下左 */
            border-radius: 50%;
        }
    </style>
</head>
<body>
    <div></div>
    <section></section>
    <main></main>
</body>
</html>

总结

了解盒子模型的组成,熟练运用边距和边框

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jiuyue_77

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

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

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

打赏作者

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

抵扣说明:

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

余额充值