margin-top 设置元素的上外边距 margin-right 设置元素的右外边距 margin-bottom 设置元素的下外边距 margin-left 设置元素的左外边距 margin 简写属性,设置所有外边距,且margin属性可以有一到四个值 : 四个值:margin:上外边距 右外边距 下外边距 左外边距 三个值:margin: 上外边距 左右外边距 下外边距 两个值:margin: 上下外边距 左右外边距 一个值:margin : 上右下左四个外边距相同 @ auto:设置浏览器边距,结果依赖于浏览器 length:设置固定的边距(px、em、pt等) 百分比:设置百分比的外边距 发布者
一:外边距合并的场景 从3个简单的小例子来看外边距合并: 1、父子合并 给h1加50px的margin,但实际上h1和div的margin合并在一起了 ? 如下图detail和header外边距合并之后,边距为50px。 ? 3、自己和自己合并 当元素内容为空时,元素设置的上下margin会自己和自己合并。 二、阻止外边距合并的方法 1、给父元素加border 如下图给header加上border之后,h1和header就没有产生外边距合并了。 ? 2、给父元素加上padding ? 注意:相邻元素合并加padding和border都没有用 3、形成一个BFC 给header加了一个overflow:hidden,形成一个BFC,外边距就不再合并。
个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。
相邻的垂直外边距会合并,除了2种特殊情况: 根元素盒的外边距不合并 如果一个带有间隙的元素的上外边距与下外边距相邻,它的外边距会和紧挨着的兄弟(元素)的相邻外边距合并,但合并后不会再和父级块的下外边距合并 (in-flow)孩子的上外边距 盒的下外边距与其下一个流内紧挨着的兄弟的上外边距 最后一个流内孩子的下外边距与其height计算值为’auto’的父元素的下外边距 盒的上外边距和下外边距,要求该盒没有建立新的块格式化上下文 父子:幺儿的下外边距与父元素的下外边距 自身:0高“真空”元素的上外边距与下外边距 P.S.这里的“真空”是指——把薯片抽成真空。 ’为0的流内块级盒的下外边距会与它的最后一个流内块级孩子的下外边距合并,条件是该盒没有下内边距和下边框,并且其孩子的下外边距没有与具有间隙的上外边距合并 盒自身的外边距也会合并,条件是’min-height ,因为margin允许负值,情况稍微复杂一点: 都是正值,直接求二者最大值 一正一负,相加求和 都是负值,求二者绝对值的最大值 例如: ul {margin-bottom: -15px;} /* 缩进表示对应文档结的构嵌套关系
边距 组件的位置属性,分为:内边距 和 外边距 [在这里插入图片描述] 1. 外边距 表示组件跟外部其他组件的边距 [在这里插入图片描述] [在这里插入图片描述] [在这里插入图片描述] 案例: 如果只设置 margin ,就会把上下左右都给设置了,这是一个整体的设置。 margin="10vp" 设置第一个文本组件 ohos:top_margin="10vp" [在这里插入图片描述] 给下面的文本框设置:ohos:top_margin="20vp" [在这里插入图片描述] 外边距小节 内边距 组件边框内侧跟文本之间的间距 [在这里插入图片描述] [在这里插入图片描述] 一般设置上内边距和左内边距就行了,因为设置了这两个,就可以确定文本的位置了 [在这里插入图片描述] 利用内边距就可以调整组件内部文本的位置 把第二个文本的内边距设置为:ohos:top_padding="20vp" [在这里插入图片描述] 内边距小节: 组件边框内侧距离内部文字的距离。
定义 外边距折叠是指有时候上边距与下边距坍缩成较大的那一个边距的行为。它只会发生在同一BFC的块级元素间,并且永远不会发生在浮动元素或绝对定位元素间。 可能的情况 毗邻的兄弟元素 相邻的兄弟元素垂直边距会发生折叠,但最后一个元素需要清除浮动时例外。 如果要在这种情况下避免外边距折叠,请将两者的margin区分开。区分margin-top的方法有设置border、padding、inline content、清除浮动、避免创建BFC区域。
外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。 首先看下W3C对于外边距合并的介绍: 外边距合并 简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。 ,因为它们的所有外边距都合并到一起,形成了一个小的外边距。 如果没有外边距合并,后续所有段落之间的外边距都将是相邻上外边距和下外边距的和。这意味着段落之间的空间是页面顶部的两倍。 如果发生外边距合并,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。 image.png 注释: 只有普通文档流中块框的垂直外边距才会发生外边距合并。
为其正名 我们都使用过CSS得外边距,但是当谈到负边距的时候,我们好像往差的方向发展啦。在网页设计中负边距的使用出现了两种极端,一种特别喜欢它,也有一些人认为这完全就是魔鬼的作品。 下面是一些你应该知道的关于负边距的事情: 他们是完全有效的CSS 这不是在跟你开玩笑。W3C甚至都说,在外边框中使用负边距是允许的。要了解更多可以点击这篇文章 负边距不是在hack 这是尤其正确的。 如果负边距和宽度一样大的话,它就会被完全覆盖掉。因为外边距,内边距,边框和内容加起来等于元素的宽度。如果负外边距等于元素的宽度的话,那么该元素的宽度就会变成0px。 这里有一个文章讨论了负边距在多列布局中的应用。 微调元素 这是负外边距最常也是最简单的使用方式。 结论 负外边距能够在不使用任何额外标签的情况下定位元素让它在现在网页设计中占有一席之地。随着更多的用户使用更新的浏览器(包括IE8),未来使用这些技巧的网站会变得更加有前景。
"f">
css外边距margin是什么 使用说明 1、用来增加元素间距的,外边距跟边框一样,分为上、右、下、左4个方向的边距。 --设置元素的外边距,是让当前元素和四周的元素产生距离,默认各元素的外边距是0,即两个div是贴合在一起的--> div{ width: 200px; height: 200px; } .box1{ background --设置元素box1的下外边距,让box1的下方和box2的上方有20px的距离--> margin-bottom: 20px; <! --用外边距设置元素水平居中,不能垂直居中--> //margin: auto; <! 使当前元素和另一元素边框合并,或者覆盖另一元素--> //margin-top: -100px; } .box2{ background: blue; } 以上就是css外边距7920原生JavaScript获取元素的margin外边距最近想找一个可以获取元素高度(包括外边距margin)的方法,原生JS的实现方法一直没有找到,不过有一个方法可以获取元素的边距,记录一下: 语法是(获取元素的属性值): getComputedStyle my_div = document.getElementById("myDiv"); let style = window.getComputedStyle(my_div, null); 获取元素的上边距 computedStyle = div.currentStyle;//兼容IE的写法 } alert(computedStyle.marginTop); </script> 这样就能弹出 div 的上边距了5.1K10html 锚点定位偏移 外边距增加33610wxss学习系列《二》尺寸(Dimension),外边距(margin)和内边距(padding)外边距(margin)和内边距(padding) 说到边距,那这个基本上跟Android里的概念差不多,先来看一个图吧,(虽然标注的丑了点,不过那不是重点) ? 一.margin:外边距;设置对象四边的外延边距。 margin: 20rpx 10rpx 25rpx 10rpx :如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。 某些相邻的margin会发生合并,称之为margin折叠,具体的现象就如果两个块级元素都设置了margin,那取两者之间的最大值做为两个元素的外边距。 二.padding:内边距:设置对象四边的内部边距。 三.margin-top,margin-right,margin-bottom,margin-left对应的分别是上右下左外边的距离,可取值:auto/数值/百分比。64560CSS篇-面试题4-外边距问题两个 float 的盒子,都是左浮动,外边距问题 两个float的盒子,都是左浮动,盒子 A 的margin-right为 100px,盒子 B 的margin-left为 200px,问盒子 A 与盒子 height: 100px; float: left; // 两个盒子都浮动 } .box-a { background: pink; margin-right: 100px; // 盒子A右外边距 100px } .box-b { background: #abcdef; margin-left: 200px; // 盒子B左外边距 } 具体测试结果 ? 答案:A-B 之间的间距是 300px 结论:当元素横向方向外边距时,不会出现外边距迭代的问题 外边距叠加的问题 两个普通的盒子,盒子 A 的margin-bottom为100px,盒子 B 的margin-top 答案: A-B 之间的间距是200px 结论:当元素在垂直方向,两个相邻的元素之间增加上下外边距时,会出现外边距的叠加24820横向双倍外边距BUG — IE6盒模型对于这种低级错误,虽然其他浏览器都能够处理和调整,但是却绝不是一个专业开发人员会犯的~ margin双倍间距bug IE6存在不少的兼容问题,今天要说的是IE6的横向双倍外边距。 此时用IE6查看网页,就会发现,设置的横向的边距变成了双倍。 例子:元素向左浮动并且设置了左侧的外边距出现了这样的双边距bug。同理,元素向右浮动并且设置右边距也会出现同样的情况。 同一行如果有多个浮动元素,第一个浮动元素会出现这个双边距bug,其它的浮动元素则不会。 修正bug 只需要给浮动元素加上display:inline;的CSS属性就可以了。30730Bootstrap增加标题的大小,添加更多的外边距(margin)顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin)。使用超大屏幕(Jumbotron)的步骤如下: 创建一个带有 class .jumbotron.39030CSS中的background属性与margin和padding内外边距的关系总结值:border-box | padding-box | content-box background-origin: border-box; 从边框区域开始显示背景,背景会延伸到外边界的边框,但边框在上 background-origin: padding-box; 从补白区域开始显示背景,背景延伸到最外边界的padding,边框不会有背景出现。 border-box 【看栗子】 .box8{padding: 25px; border: 10px dotted #000; background-color: yellow;} border-box 背景会延伸到外边界的边框 Lorem ipsum dolor sit amet. padding-box 从补白区域开始显示背景,背景延伸到最外边界的padding,边框不会有背景出现。3.1K00【面试题解】什么是外边距重叠?如何解决?什么是BFC?---- 本系列面试题旨在学会相关知识点,从而轻松应对面试题的各种形式,本文讲解了 BFC 以及 利用 BFC 解决外边距重叠问题。 现象: 发生了边距重叠,一个盒子和其子孙的边距重叠。 规则:正正取最大,负负取最负,正负就相加。 兄弟元素边距合并 场景三:再来看这段代码,两个兄弟元素,一个下边距是 100px ,另一个上边距 100px ,预计的结果是两个兄弟元素之间的距离是 200px 。 现象:发生了边距重叠,两个兄弟元素的上边距和下边距发生了重叠。 规则:正正取最大,负负取最负,正负就相加。 原因:块级元素的上外边距或下外边距有时(直接接触/相邻时)会合并为一个外边距。 现象:发生了边距重叠,所有的空元素的边距重叠成一个空元素的边距。 原因:如果一个块级元素没有任何内容并且设置了 margin-top 和 margin-bottom 时会发生 margin 合并。6320
最近想找一个可以获取元素高度(包括外边距margin)的方法,原生JS的实现方法一直没有找到,不过有一个方法可以获取元素的边距,记录一下: 语法是(获取元素的属性值): getComputedStyle my_div = document.getElementById("myDiv"); let style = window.getComputedStyle(my_div, null); 获取元素的上边距 computedStyle = div.currentStyle;//兼容IE的写法 } alert(computedStyle.marginTop); </script> 这样就能弹出 div 的上边距了
外边距(margin)和内边距(padding) 说到边距,那这个基本上跟Android里的概念差不多,先来看一个图吧,(虽然标注的丑了点,不过那不是重点) ? 一.margin:外边距;设置对象四边的外延边距。 margin: 20rpx 10rpx 25rpx 10rpx :如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。 某些相邻的margin会发生合并,称之为margin折叠,具体的现象就如果两个块级元素都设置了margin,那取两者之间的最大值做为两个元素的外边距。 二.padding:内边距:设置对象四边的内部边距。 三.margin-top,margin-right,margin-bottom,margin-left对应的分别是上右下左外边的距离,可取值:auto/数值/百分比。
两个 float 的盒子,都是左浮动,外边距问题 两个float的盒子,都是左浮动,盒子 A 的margin-right为 100px,盒子 B 的margin-left为 200px,问盒子 A 与盒子 height: 100px; float: left; // 两个盒子都浮动 } .box-a { background: pink; margin-right: 100px; // 盒子A右外边距 100px } .box-b { background: #abcdef; margin-left: 200px; // 盒子B左外边距 } 具体测试结果 ? 答案:A-B 之间的间距是 300px 结论:当元素横向方向外边距时,不会出现外边距迭代的问题 外边距叠加的问题 两个普通的盒子,盒子 A 的margin-bottom为100px,盒子 B 的margin-top 答案: A-B 之间的间距是200px 结论:当元素在垂直方向,两个相邻的元素之间增加上下外边距时,会出现外边距的叠加
对于这种低级错误,虽然其他浏览器都能够处理和调整,但是却绝不是一个专业开发人员会犯的~ margin双倍间距bug IE6存在不少的兼容问题,今天要说的是IE6的横向双倍外边距。 此时用IE6查看网页,就会发现,设置的横向的边距变成了双倍。 例子:元素向左浮动并且设置了左侧的外边距出现了这样的双边距bug。同理,元素向右浮动并且设置右边距也会出现同样的情况。 同一行如果有多个浮动元素,第一个浮动元素会出现这个双边距bug,其它的浮动元素则不会。 修正bug 只需要给浮动元素加上display:inline;的CSS属性就可以了。
顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin)。使用超大屏幕(Jumbotron)的步骤如下: 创建一个带有 class .jumbotron.
值:border-box | padding-box | content-box background-origin: border-box; 从边框区域开始显示背景,背景会延伸到外边界的边框,但边框在上 background-origin: padding-box; 从补白区域开始显示背景,背景延伸到最外边界的padding,边框不会有背景出现。 border-box 【看栗子】 .box8{padding: 25px; border: 10px dotted #000; background-color: yellow;} border-box 背景会延伸到外边界的边框 Lorem ipsum dolor sit amet. padding-box 从补白区域开始显示背景,背景延伸到最外边界的padding,边框不会有背景出现。
---- 本系列面试题旨在学会相关知识点,从而轻松应对面试题的各种形式,本文讲解了 BFC 以及 利用 BFC 解决外边距重叠问题。 现象: 发生了边距重叠,一个盒子和其子孙的边距重叠。 规则:正正取最大,负负取最负,正负就相加。 兄弟元素边距合并 场景三:再来看这段代码,两个兄弟元素,一个下边距是 100px ,另一个上边距 100px ,预计的结果是两个兄弟元素之间的距离是 200px 。 现象:发生了边距重叠,两个兄弟元素的上边距和下边距发生了重叠。 规则:正正取最大,负负取最负,正负就相加。 原因:块级元素的上外边距或下外边距有时(直接接触/相邻时)会合并为一个外边距。 现象:发生了边距重叠,所有的空元素的边距重叠成一个空元素的边距。 原因:如果一个块级元素没有任何内容并且设置了 margin-top 和 margin-bottom 时会发生 margin 合并。
扫码关注腾讯云开发者
领取腾讯云代金券