CSS常见属性详解——内边距与外边距

news2024/9/23 1:32:01

内边距与外边距

内边距

外边距

应用场景


        在网页排版布局时,我们经常会希望元素与元素之间有一定的间距,此时我们可能会用到CSS的外边距或内边距属性,这两个属性都能让元素之间产生距离,那么他们之间有什么不同呢? 

内边距与外边距

        内边距是元素内容与元素边框之间的边距,会撑开元素的大小,外边距是元素与元素之间的边距,不会撑开元素的大小。

        首先通过下面的图直观地感受以下在网页中的内外边距:

        在网页中我们可以通过F12或者右击检查查看元素的内边距和外边距,选中时显示蓝色的区域就是内容,橙色区域是外边距;在选中的元素范围内,蓝色区域以外的绿色区域是内边距。

内边距

        内边距是元素内容与元素边框之间的边距,会撑开元素的大小,但不会影响元素内容的大小。

        我们可以把盒子想象为装着食物的快递盒,内边距想象为盒子四周的泡沫填充物,盒子的泡沫填充物增多,箱子就需要变大,但泡沫填充物的多少并不会影响食物本身的大小。

        内边距属性值为padding,它有四个方向,可以写为:

    padding-left: 属性值;
    padding-top: 属性值;
    padding-right: 属性值;
    padding-bottom: 属性值; 

        也可以直接写为一行,padding:值1,值2,值3,值4;。其中各个值分别指的是元素内容与上、右、下、左边的内边距。

            /* 上  右   下   左 */
        padding: 值1,值2,值3,值4;

        我们先设置一个盒子,代码如下:

<body>
    <style>
        .box {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
    <div class="box"></div>
</body>

        效果如下,这时候只是一个100px*100px的小盒子。

         此时我们设置一个大一点的内边距,在原来的代码上加一行padding,代码如下:

.box {
    width: 100px;
    height: 100px;
    background-color: pink;
    padding: 200px;
}

        这个时候我们可以发现元素被撑大了,效果如下:

        

        在页面中点击检查,蓝色区域就是盒子内容的大小,我们可以发现此时元素的内容并没有变大,而是内边距撑大了盒子。

外边距

        在元素与元素之间的间隙就是外边距,外边距可以让元素产生间隙,外边距不会影响元素的大小,也不会撑开元素。

        还是按照快递盒子来理解,每个快递盒子都是独立的个体,我们把两个快递盒子隔开的距离就是外边距,无论我们把快递盒子之间的距离隔开地多远,盒子本身的大小都是不变的。

        外边距的属性值为margin,写法与内边距类似,它也有四个方向,可以写为:

    margin-left: 属性值;
    margin-top: 属性值;
    margin-right: 属性值;
    margin-bottom: 属性值; 

        也可以写为一行,margin:值1,值2,值3,值4;。其中各个值分别指的是元素之间上、右、下、左边的外边距。

            /* 上  右   下   左 */
        margin: 值1,值2,值3,值4;

        我们假设三个盒子,为了便于观察,我们设置了一个弹性盒子,使得元素在同一行显示,我们给元素设置外边距,代码如下:

<body>
    <style>
        .box-1 {
            width: 100px;
            height: 100px;
            background-color: pink;
            margin: 20px;
        }

        .box-2 {
            width: 100px;
            height: 100px;
            background-color: skyblue;
        }

        .container {
            display: flex;
        }

        .box-3 {
            width: 200px;
            height: 200px;
            background-color: saddlebrown;
            margin: 20px;
        }
    </style>
    <div class="container">
        <div class="box-1"></div>
        <div class="box-2"></div>
    </div>
    <div class="box-3"></div>

</body>

        这里粉色盒子与四周都有外边距,蓝色盒子与上方没有外边距(只有默认的),而棕色盒子与上面的盒子都有外边距,效果如下:

应用场景

        了解了内外边距后,我们可以在页面排版布局时使用内外边距隔开元素,需要注意的是,内边距会撑开元素的大小,而外边距与元素的大小无关。

        我们一般会在需要撑开内容物的场景下使用内边距,可能是内容比较小,需要内边距来撑开元素的大小的场景;但如果只是需要隔开元素,使得元素之间有间隙,且元素本身的大小不受影响,我们就使用外边距。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1950663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringBoot】1 Gitee

本项目 Gitee 地址&#xff1a;https://gitee.com/Lin_DH/system idea中可能装个gitee的插件&#xff0c;这样操作起来比较方便。 1&#xff09;登录 Gitee 官网&#xff08;https://gitee.com/&#xff09;&#xff0c;新建仓库。 2&#xff09;复制新建的 Gitee 仓库地址&am…

大麦抢票-狠货

大部分购买方式已迁移至手机端&#xff0c;专注研究移动端 小白操作–仅供学习 注意在帐号按权重的第三方账号设置解绑淘宝&#xff0c;否则有可能在抢票时候出现滑块&#xff0c;影响抢票,抢票优先选择大麦 ⚠️核心内容参考&#xff1a; 据悉&#xff0c;在购票环节&…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的朋友排队(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

深入分析 Android ContentProvider (五)

文章目录 深入分析 Android ContentProvider (五)ContentProvider 的性能优化和实践案例1. 性能优化技巧1.1. 数据库索引优化示例&#xff1a;添加索引 1.2. 批量操作与事务管理示例&#xff1a;批量插入操作 1.3. 使用异步操作示例&#xff1a;使用 AsyncTask 进行异步查询 1.…

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 梳理下思路 1.判断是否登录 2.课程是否存在 3.如果是回复&#xff0c;查看回复是否存在 4.是否有权限 5.发起评论 首先新增pydantic模型 class Cour…

如何为 DigitalOcean 上的托管数据库收集可观测指标

DigitalOcean 在 2024 年 5 月开始支持在托管数据库&#xff08;PostgreSQL、MySQL、Redis和Kafka&#xff09;中收集可观测指标。我们将在本偏内容中&#xff0c;告诉大家如何使用部署在 DigitalOcean App Platform 上的网络应用程序&#xff0c;为 DigitalOcean 上的 Postgre…

C语言 | Leetcode C语言题解之第283题移动零

题目&#xff1a; 题解&#xff1a; void swap(int *a, int *b) {int t *a;*a *b, *b t; }void moveZeroes(int *nums, int numsSize) {int left 0, right 0;while (right < numsSize) {if (nums[right]) {swap(nums left, nums right);left;}right;} }

新手必备:iPhone新机官网验机流程详解

目录 一、准备工作 二、外包装检查 三、序列号查询 四、开箱验机 五、开机验机 六、功能检测 七、售后服务验证 八、总结 一、准备工作 检查包裹&#xff1a;确保快递包裹完好无损。准备录像设备&#xff1a;使用另一台设备录制整个验机过程&#xff0c;以防日后发生纠…

C# 贪吃蛇游戏

贪吃蛇游戏可分为手动玩法和自动玩法 冯腾飞/贪吃蛇

海山数据库(He3DB)性能优化方案解析

前端优化是一个永恒的话题&#xff0c;每个前端开发者都希望自己的页面能够快速加载&#xff0c;给用户良好的体验。但往往事与愿违。因此&#xff0c;本文从编码优化、构建优化、部署优化三方面入手进行web页面性能优化。 1. 编码优化 1.1. Css优化 1.1.1. 合理使用css选择…

昇思25天学习打卡营第33天|共赴算力时代

文章目录 一、平台简介二、深度学习模型2.1 处理数据集2.2 模型训练2.3 加载模型 三、共赴算力时代 一、平台简介 昇思大模型平台&#xff0c;就像是AI学习者和开发者的超级基地&#xff0c;这里不仅提供丰富的项目、模型和大模型体验&#xff0c;还有一大堆经典数据集任你挑。…

QSqlQuery增删改查

本文记录使用QSqlQuery实现增删改查的过程。 目录 1. 构建表格数据 声明变量 表格、数据模型、选择模型三板斧设置 列表执行查询 列表的水平表头设置 2. 新增一行 构建一个空行 通过dialog返回的修改行数据&#xff0c;update更新 3. 更新一行 获取到需要更新的行 通…

qt--电子相册

一、项目要求 设计一个电子相册&#xff0c;点击上一张&#xff0c;切换到上一张图片&#xff0c;点击下一张&#xff0c;切换到下一张图片。 要求&#xff1a;图片的展示可以循环&#xff08;QList<QString>&#xff09; 要求&#xff1a;界面美观 二、项目代码 本质是通…

力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法

做题链接 目录 前言&#xff1a; 一、算法推导&#xff1a; 1.假设有环并且一定会相遇&#xff0c;那么一定是在环内相遇&#xff0c;且是快指针追上慢指针。 2.有环就一定会相遇吗&#xff1f;快指针是每次跳两步&#xff0c;有没有可能把慢指针跳过去&#xff1f; 3.那一定…

ffmpeg更改视频的帧率

note 视频帧率调整 帧率(fps-frame per second) 例如&#xff1a;原来帧率为30&#xff0c;调整后为1 现象&#xff1a;原来是每秒有30张图像&#xff0c;调整后每秒1张图像&#xff0c;看着图像很慢 实现&#xff1a;在每秒的时间区间里&#xff0c;取一张图像…

数据库 第五次作业

1.触发器 建立两个表:goods(商品表)、orders(订单表)并 在商品表中导入商品记录 建立触发器&#xff0c;订单表中增加订单数量后&#xff0c;商品表商品数量同步减少对应的商品订单出数量,并测试 建立触发器&#xff0c;实现功能:客户取消订单&#xff0c;恢复商品表对应商品的…

Llama 3.1 这一最强模型按时降临!扎克伯格最新的访谈表明:Llama 将会成为 AI 领域中的 Linux 。

&#x1f431; 个人主页&#xff1a;TechCodeAI启航&#xff0c;公众号&#xff1a;TechCodeAI &#x1f64b;‍♂️ 作者简介&#xff1a;2020参加工作&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab; 优质专…

PyQt5 使用系统托盘

Qt5 中 QSystemTrayIcon 类提供了系统托盘的功能 具体功能 初始化 初始化 QSystemTrayIcon 对象, 需要传递一个父控件作为初始参数 import sys from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QWidgetapp QApplication(sys.argv) window QWidget() tray Q…

barrier failt to connect to server: timeout

win10做server&#xff0c;mac做client&#xff0c;一直运行失败&#xff0c;观察日志发现timeout。 最后发现是win10的防火墙入站规则里的Barrier Listener里设置的端口&#xff0c;和Barrier中设置的端口不一致。 因为局域网内有其他同事也用这个&#xff0c;所以修改了端口…

API资源对象CRD、认识Operator-理论知识和认识Operator-初次上手(2024-07-17)

一、API资源对象CRD Kubernetes 自定义资源定义&#xff08;Custom Resource Definition&#xff0c;简称 CRD&#xff09;是一种强大的 Kubernetes API 扩展机制&#xff0c;允许你定义和创建自己的资源类型&#xff0c;以满足您的应用程序或基础设施需求。 CRD 的核心思想是…