首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【CSS】盒子模型外边距 ④ ( 元素默认的外边距 | 清除元素默认的内外边距 | 行内元素边距设置 )

文章目录 一、元素默认的外边距 1、body 标签的默认外边距 2、p 标签的默认外边距 二、清除元素默认的内外边距 1、清除方式 2、代码示例 三、行内元素边距设置 一、元素默认的外边距 ---...: block; margin: 8px; } 2、p 标签的默认外边距 在 body 中添加 p 标签 , 代码如下 : div>div> p 标签 默认外边距的是 * { padding: 0; margin: 0; } 样式 ; 查看 p 标签样式 , 其 上下边距 也消失了 ; 三、行内元素边距设置 ----...四个方向的边距 , 仅左右边距生效 */ margin: 50px; } div> 行内元素 div>...p 标签 默认外边距 显示效果 : 按下 F12 键 , 进入 调试模式 , 选中 span 行内元素 , 为其设置 四个边距 , 只有 左右边距 50px

2.5K10

webkit中BFC元素临近浮动元素时的边距bug

一直以来我们都很熟悉IE的“浮动边距加倍”的bug,并且绝大多数重构人员都已经很擅长在需要浮动时就直接绕过他。...这个BFC元素没有指定宽度值(或者指定width:auto) 当满足触发条件时,该BFC元素的另一侧的边距将不再受css控制(在webkit核心浏览器下),而是由你所指定的与浮动元素相同的边距决定,即使你在...css中明确指定另一侧的边距为0或任意值也没用。...具体来说,可以分为两种情况: 当BFC与浮动方向相同的边距小于或等于浮动元素占据的总宽度(width+margin+padding+border)时,BFC另一侧的边距等于所设定方向上的边距(下图前两种情况...); 当BFC与浮动方向相同的边距大于浮动元素占据的总宽度时,BFC另一侧的边距等于浮动元素占据的总宽度(下图第三种情况)。

1.7K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于元素间的边距重叠问题与BFC

    一、边距重叠常见情况 1、垂直方向上相邻元素的重叠 (水平方向上不会发生重叠) ? 2、 垂直方向上父子元素间的重叠 ?...二、BFC 1、什么是 BFC BFC(Block Formatting Context),即块级格式化上下文,创建了 BFC 的元素是一个独立的容器,里面无论如何布局都不会影响到外面的元素 2、创建...table-cell... 3、BFC 的使用场景 (1)解决元素间的边距重叠问题 -- 分别添加创建了 BFC 的父元素 ?...#7b81ca; margin: 30px; } (2)解决浮动重叠问题 -- 为非浮动的元素创建 BFC (常用于文字环绕图片的效果) ?...: 200px; height: 100px; background: rgba(123, 129, 202, 0.8); overflow: hidden; } (3)清除浮动,解决浮动元素的父元素高度塌陷问题

    1.9K20

    前端之HTML和CSS

    div style="width:100px; height:100px; background:red ">......div> 2、嵌入式:通过style标签,在网页上创建嵌入的样式表。...-- 无法应用以上样式,每个标签只能有唯一的id名 --> 5、伪类选择器 常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态。...,也叫内边距,如padding:20px;padding是同时设置4个边的,也可以像border一样拆分成分别设置四个边:padding-top、padding-left、padding-right、padding-bottom...margin 设置元素和外界的距离,也叫外边距,如margin:20px;margin是同时设置4个边的,也可以像border一样拆分成分别设置四个边:margin-top、margin-left、margin-right...*/ padding:20px 40px; /* 设置上下内边距为20px,左右内边距为40px*/ padding:20px; /* 设置四边内边距为20px */  设置外间距margin

    4.3K30

    原生JavaScript获取元素的margin外边距

    最近想找一个可以获取元素高度(包括外边距margin)的方法,原生JS的实现方法一直没有找到,不过有一个方法可以获取元素的边距,记录一下: 语法是(获取元素的属性值): getComputedStyle...pseudo 也有一种写法是 pseudo-element 意思是伪类 ::before,该参数不是必须的,空字符串或没有参数则表示元素本身。当不查询伪类元素的时候可以忽略或者传入 null 。...); 获取元素的上边距 margin-top              #myDiv {             height: 300px;             width...); 这样就能弹出 div 的上边距了。...而不同点就是: element.style 读取的只是元素的内联样式,即写在元素的 style 属性上的样式;而 getComputedStyle 读取的样式是最终样式,包括了内联样式、嵌入样式和外部样式

    9.6K10

    你肯定会用到的CSS多行多列布局

    方案二:计算剩余空间 如果我们知道最后一行剩余空间的话,完全可以控制最后一个元素的边距或者缩放比例去占满剩下的空间,自然就能左对齐了。...要做到这一点,首先得确定宽度和边距,宽度通常是已知的,我们只需要把边距确定下来,就能确认剩余空间。...接上面的的例子,假设一行有4个, 每个占比24%,4个就是24% * 4 = 96% , 那么可以确定总边距是4%,由于一行有4个元素,而最后一个的右边距是多余的,那么可以确定单个的边距为 4% / 3...css函数代替 */ margin-right: calc(4% / 3); margin-bottom: calc(4% / 3); } /* 去除每行尾的多余边距...*/ .item:nth-child(4n){ margin-right: 0; } /* 使最后一个元素的边距填满剩余空间 */ .item:last-child

    2.2K20

    行内元素内外边距探究:为何span设置上下margin和padding不起效

    一直以为行内元素设置内外边距会不起效,之前也没有具体的去实验,只是在需要设置 margin 或者 padding 的时候给元素设置一个 display: inline-block; 就得了。 ?...从 span 的背景色可以看出,padding 是设置上了。只不过无法把 p 标签撑开罢了。 margin 则只能设置左右边距,上下边距不起效。 但是 padding-top 去哪了?怎么看不到呢?...原来 span 等行内元素是可以设置内边距 padding 的,只不过元素本身无法把父元素撑开,看上去就是设置的 padding 上下边距不起效了,而 margin 就只能设置 span 的左右边距。...所以,如果要给 span 设置边距,一般的方法就是给它设置一个 display: inline-block; ,把它变成行内块级元素就可以了。...贴一下代码: HTML: div class="container">              我想要边距         我想要边距

    8.6K30

    深入学习下 CSS 间距相关的知识

    边距折叠 简而言之,当两个垂直元素有一个边距,并且其中一个的边距大于另一个时,就会发生边距折叠。 在这种情况下,将使用较大的边距,而忽略另一个边距。...在上面的模型中,一个元素具有底部边缘,而另一个元素具有顶部边缘。 具有较大边距的元素获胜。 为避免此类问题,建议根据本文使用单向边距。...负边距 它可以与四个方向的边距一起使用,在某些用例中非常有用。 让我们假设以下内容: 父级有 padding: 1rem,这导致子级从顶部、左侧和右侧偏移。 但是,子元素应该紧贴其父元素的边缘。.... --> div> div> 通常,我更喜欢将组件封装起来,避免给它们添加边距,出于这个原因,我有元素 grid__item,我的卡片组件将位于其中。...处理底边距 假设以下组件堆叠。 每个组件都有一个底部边距。 请注意,最后一个元素有边距。 这是不正确的,因为边距应该只在元素之间。

    13.5K40

    浅谈 CSS 的用法

    四个边如果设置一样,可以将四个边的设置合并成一句: border:10px solid red; 设置内间距 padding-top:20px; /* 设置顶部内间距20px */ padding-left...上 右 下 左 四个方向的内边距值。...* 设置上下内边距为20px,左右内边距为40px*/ padding:20px 40px; /* 设置四边内边距为20px */ padding:20px; 设置外间距 margin-top:20px...设置上下内边距为20px,左右内边距为40px*/ margin:20px 40px; /* 设置四边内边距为20px */ margin:20px; 设置垂直居中 margin: auto; position...、其他元素才停下来   ③ 相邻浮动的块元素可以并在一行,超出父级宽度就会换行   ④ 父元素如果没有设置尺寸(一般是高度不设置),父元素内整体浮动的子元素无法撑开父元素,父元素需要清除浮动

    1.5K40

    HTML 基础

    async:立即下载脚本,不妨碍其他操作,比如下载其他资源或者加载其他脚本,只对外部脚本有效 常用元素 内联元素 只占据它对应标签的边框所包含的空间 只能容纳文本或其他内联元素 只能通过修改水平边距、边框或者行高的方式改变尺寸...可以控制宽高、行高、边距、边框等改变其尺寸 常用的块级元素::div>、 、- 、、、、 、 、...、 行内块级元素 元素在行内排列,不会独占一行 支持设置宽高以及垂直边距、边框 常用的内联元素:、、 语义化 根据内容的结构,选择合适的标签构建出便于开发者阅读的可维护性更高的代码结构...,比如说用于美化片段样式,此时用 div>更合适 如果元素里边是独立的整块的内容,可以单发布,则更适合用 表示一个和其余页面内容几乎无关的部分,或者说单独拆出来不会影响整体的内容...> 某个人或组织的联系信息 在引用中使用,表示需要引起注意 代码片段 免责声明、注意事项等 多媒体元素 图片 src属性是必须的,嵌入图片的文件路径

    1.4K10

    前端学习笔记之CSS属性设置 CSS属性设置

    > hello英雄不问出处,流氓不论岁数 点我啊 div> 三 背景属性 注意:没有宽高的标签,即便设置背景也无法显示...1、盒子模型的宽度和高度 #1、内容的宽度和高度 通过标签的width和height属性设置 #2、元素的宽度和高度 宽度= 左边框 + 左内边距 + width(内容的宽) + 右内边距...#3、元素空间的宽度和高度 宽度= 左外边距 + 左边框 + 左内边距 + width(内容的宽) + 右内边距 + 右边框高度 + 右外边距 高度= 。。。。 元素block 独占一行 可以设置宽高 若没有设置宽度,那么默认和父元素一样宽(比如下例中的div的父元素是body,默认div的宽就是body...我 div> 7、清除默认边距 #1、为什么要清空默认边距(外边距和内边距) 浏览器会自动附加边距,在企业开发中为了更好的控制盒子的宽高和计算盒子的宽高等等 编写代码之前的第一件事情就是清空默认的边距

    5.9K30

    子元素margin-top导致父元素移动的问题

    问题分析 在MDN上面有这么一段文字: 块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值,这种行为称为边距折叠。...有三种情况会产生边距折叠: 1、同一层相邻元素之间 div class="A">元素Adiv> div class="B">元素Bdiv> .A, .B { width...solid transparent; middle元素设置padding:padding-top: 1px; 注意事项 如果参与折叠的margin中包含负值,折叠后的margin的值为最大的正边距与最小的负边距...(即绝对值最大的负边距)的和;也就是说如果有-10px,10px,30px叠在一起,margin的范围就是 30px-10px=20px。...如果所有参与折叠的外边距都为负,折叠后的外边距的值为最小的负边距的值。这一规则适用于相邻元素和嵌套元素。

    2.7K20

    css负边距之详解

    在static元素中使用负边距 ? 一个static元素是一个没有使用过float的元素。上面的图片展示了一个static的元素使用负边距之后的情况。...在这里margin的作用相当于padding 在浮动中使用负边距 加入下面就是我们的html代码: div id="mydiv1">Firstdiv>div id="mydiv2">Second...div> 如果对一个浮动的元素使用负边距,它会产生一个空白,其他元素就可以覆盖这一部分。...所有的元素会完美的对齐好。使用负边距会比使用相对定位好很多,因为你只需要给新的一列的第一个元素添加负边距即可。酷吧,哈哈哈 重叠来强调 ? 故意重叠元素也是一种很好地设计隐喻。...假如你把第十个div插入到9个其他的div中,不知道什么原因没有正确的排列,使用负边距来调整这个div就不需要改变其他9个div了,很方便。

    1.9K80

    css负边距之详解

    在static元素中使用负边距 ? 一个static元素是一个没有使用过float的元素。上面的图片展示了一个static的元素使用负边距之后的情况。...在这里margin的作用相当于padding 在浮动中使用负边距 加入下面就是我们的html代码: div id="mydiv1">Firstdiv> div id="mydiv2">Second...div> 如果对一个浮动的元素使用负边距,它会产生一个空白,其他元素就可以覆盖这一部分。...所有的元素会完美的对齐好。使用负边距会比使用相对定位好很多,因为你只需要给新的一列的第一个元素添加负边距即可。酷吧,哈哈哈 重叠来强调 ? 故意重叠元素也是一种很好地设计隐喻。...假如你把第十个div插入到9个其他的div中,不知道什么原因没有正确的排列,使用负边距来调整这个div就不需要改变其他9个div了,很方便。

    2.2K40

    【面试题解】什么是外边距重叠?如何解决?什么是BFC?

    兄弟元素边距合并 场景三:再来看这段代码,两个兄弟元素,一个下边距是 100px ,另一个上边距 100px ,预计的结果是两个兄弟元素之间的距离是 200px 。...现象:发生了边距重叠,两个兄弟元素的上边距和下边距发生了重叠。 规则:正正取最大,负负取最负,正负就相加。 原因:块级元素的上外边距或下外边距有时(直接接触/相邻时)会合并为一个外边距。...原理:属于不同 BFC 的元素垂直方向边距不会发生重叠。...空元素边距合并 场景四:两个兄弟元素之间有四个空元素,每个空元素有 25px 的 margin-top,预计的结果是两个兄弟元素之间的距离是 100px 。...现象:发生了边距重叠,所有的空元素的边距重叠成一个空元素的边距。 原因:如果一个块级元素没有任何内容并且设置了 margin-top 和 margin-bottom 时会发生 margin 合并。

    81121

    译|CSS中的间距,前端开发中各种设置间距的优点缺点及实例

    在上面的模型中,一个元素有 margin-bottom,另一个元素有 margin-top,边距较大的元素获胜。 为避免此类问题,建议按照本文使用单向边距。...请注意,子元素固定在其父元素的顶部。那是因为它的边距折叠了。.... --> div> div> 通常,我更喜欢将组件封装起来,并避免给它们增加边距。由于这个原因,我有 grid__item元素,我的card组件将位于其中。...处理底部margin 假设以下组件堆叠在一起,每个组件都有底边距。 ? 注意最后一个元素有一个空白,这是不正确的,因为边距只能在元素之间。...万一设计中有不止一列,它将无法正常工作。参见下图。 ? 关于解决方案2,它没有CSS特异性问题。但是,它只能处理一个列栈。 更好的解决方案是通过向父元素添加负边距来取消不需要的间距。

    12.1K10

    掌握 CSS 浮动的关键

    三、浮动元素的特性 (一)块盒特性 当一个元素浮动后,它必定变为块盒,就像设置了display: block;一样。这意味着它可以设置宽度、高度、边距等块级元素的属性。...即浮动元素的高度会根据其内部的内容自动调整。 margin为auto时,为 0。这意味着如果不明确设置边距,浮动元素的边距会自动设置为 0。 边框、内边距和百分比设置与常规流一致。...这就导致当父元素内部包含浮动元素时,父元素的高度可能无法正确地根据子元素的内容进行调整,从而出现高度坍塌的问题。...> div> 这样,:after伪元素会在父元素的内容之后插入一个新的元素,这个元素会清除浮动,从而使父元素的高度能够正确地包含浮动元素。...这种方法的优点是简单易用,不需要在 HTML 结构中添加额外的元素。同时,它也可以避免一些使用其他方法可能出现的问题,如清除浮动元素的边距问题等。

    7010

    一道面试题来看伪元素、包含块和高度坍塌

    边距塌陷(Collapsing margins) 在CSS中,两个或多个框(可能是也可能不是兄弟)的相邻边距可以合并形成一个边距,称为边距塌陷。...不会发生边距坍塌的情况 根节点元素 水平边距(Horizontal margins)不会崩溃 「如果具有间隙的元素的顶部和底部相邻,他会与后续同级的元素边距一起坍塌,但是不会与父元素底部的一起坍塌(If...,包括其所有流入子元素的边距(如果有的话)都会坍塌。...,当边距全为正数的时候,结果页边距宽度是边距塌陷宽度的最大值。...2.当边距全为负数的时候,取最小值。 3.在存在负边距的情况下,从正边距的最大值中减去负边距的绝对值的最大值。

    1.1K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券