当前位置: 首页 > news >正文

div盒子边距_CSS | 盒子模型之外边距(margin)

CSS margin(外边距)属性定义元素周围的空间。

CSS margin 属性接受任何长度单位、百分数值,甚至负值。

Margin

margin清除周围的元素(外边框)的区域。

margin没有背景颜色,是完全透明的。

margin可以单独改变上、右、下、左边距。也可以一次改变所有的属性。

可能的值

值说明

auto设置浏览器边距。

这样做的结果会依赖于浏览器。

length定义一个固态的margin

margin(使用像素pt,em等)

%定义一个使用百分比的边距

margin可以使用负值,重叠的内容。

Margin - 单边外边距属性

在CSS中,它可以指定不同的侧面不同的边距:

margin-top:100px;

margin-bottom:100px;

margin-right:50px;

margin-left:50px;

Margin - 简写属性

为了缩短代码,有可能使用一个属性中margin指定的所有边距属性。这就是所谓的简写属性。所有边距属性的简写属性是 margin :

margin:100px 50px;

margin属性可以有一到四个值。

margin:25px 50px 75px 100px;上边距为25px

右边距为50px

下边距为75px

左边距为100px

margin:25px 50px 75px;上边距为25px

左右边距为50px

下边距为75px

margin:25px 50px;上下边距为25px

左右边距为50px

margin:25px;所有的4个边距都是25px

CSS 外边距合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

外边距合并

外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。

简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。请看下图:

当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。请看下图:

尽管看上去有些奇怪,但是外边距甚至可以与自身发生合并。

假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:

如果这个外边距遇到另一个元素的外边距,它还会发生合并:

这就是一系列的段落元素占用空间非常小的原因,因为它们的所有外边距都合并到一起,形成了一个小的外边距。

外边距合并初看上去可能有点奇怪,但是实际上,它是有意义的。以由几个段落组成的典型文本页面为例。第一个段落上面的空间等于段落的上外边距。如果没有外边距合并,后续所有段落之间的外边距都将是相邻上外边距和下外边距的和。这意味着段落之间的空间是页面顶部的两倍。如果发生外边距合并,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。

注释:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

相关文章:

  • php mongodb 按照日期统计_PHP程序员应该掌握哪些技术?
  • 图片在section上下居中_停!你的时间不应该花在无谓的图片/文字对齐上
  • python小课堂28_python课堂整理28----re模块
  • fabric shim安装合约_Fabric 2.0 实战 - 设置背书策略
  • springboot 单测加入参数_SpringBoot加Lambda进行参数校验的一个通用方案
  • java 炸金花_炸金花绝对大小计算 比较及排序算法(Java)
  • ios请求头解决参数中文乱码_vue Axios 向后端提交参数 请求头 json 方式(Content-Type: application/json; charset=UTF-8)...
  • three相机在模型上_javascript – Three.js围绕物体旋转相机(可能会移动)
  • ominipeek 发包_WildPackets的著名的抓包软件Omnipeek
  • 负压电路_负压设计技巧:单片机电子电路中常用的负压产生电路!
  • centos7 开启ipv6_(CentOS7)配置IPv6隧道地址
  • redis 了 什么地方用到_为什么这么多人在用Redis
  • 阿里云服务器跑python_python 服务器跑
  • combotree 可以异步加载吗_combotree怎么设置默认值
  • biginteger 原理_BigInteger实现原理
  • angular学习第一篇-----环境搭建
  • Computed property XXX was assigned to but it has no setter
  • HTTP--网络协议分层,http历史(二)
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Linux下的乱码问题
  • magento2项目上线注意事项
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • React 快速上手 - 07 前端路由 react-router
  • Solarized Scheme
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 编写符合Python风格的对象
  • 将回调地狱按在地上摩擦的Promise
  • 驱动程序原理
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 详解NodeJs流之一
  • 一、python与pycharm的安装
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 在weex里面使用chart图表
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 关于Android全面屏虚拟导航栏的适配总结
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #stm32整理(一)flash读写
  • $.ajax()
  • (2015)JS ES6 必知的十个 特性
  • (39)STM32——FLASH闪存
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (分布式缓存)Redis哨兵
  • (附源码)计算机毕业设计ssm电影分享网站
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (四)Controller接口控制器详解(三)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • .libPaths()设置包加载目录
  • .Net mvc总结
  • .NET 发展历程
  • .NET 反射的使用
  • .net 流——流的类型体系简单介绍