你不知道的margin

今天记录一下我对margin的认识吧,方便以后复习。

margin 属性设置元素的外边距。

什么是外边距? 看一下CSS的盒子模型你就清楚了。

边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

我觉得比较恰当的比喻是房子,房间里面有个element,它跟墙壁的距离就是padding。 墙壁的厚度就是border。 房子之间的距离就是margin。

所以margin 注重的是两个不相干元素的间距。

而padding 描述子元素和父容器之间的留白。

margin的理解误区

  • margin 值为百分比

margin-top 为百分比时,实际上它是按照父容器的宽度的百分比来调节的...

‘margin-top‘, ‘margin-bottom‘

Percentages: refer to width of containing block

坑了我很久的问题。

  • margin 块级元素的垂直外边距

当你两个相邻块级元素都设置了margin: 20px时,他们的垂直间隔不是40px,而是20px。 这个间隔是根据两者中的较大值来判断的,比如房主A要求其他房子至少距离我20px,而房主B说,我的要求比较低,只要距离我10px就行,那么他们的间隔就是20px,不然A会很不爽的e。

但是注意这里只针对块级元素(display:block),而行内元素(display:inline)不占据上下外边距,行内元素的左右外边距不会被合并。 行内块元素(display:inline-block)的上下外边距也不会被合并

  • margin-top

有一次使用margin-top,发现了个奇葩的问题。当我设置块element(display:block)margin-top的时候,它把整个页面都给挤下去了...

那么那些以body 为父容器的,position : absoulte的就全都要下移。解决方法是,对加了margin-top的第一个元素的父容器添加一个overflow:hidden 或者 padding-top~;

  • margin 值为负

margin值设为负值的时候,会产生很多视觉上的假象。

推荐阅读: 我知道你不知道的负Margin——海玉

时间: 2024-08-12 14:18:29

你不知道的margin的相关文章

我知道你不知道的负Margin

现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现. 负margin理论: 在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇文章<不要告诉我你懂margin>,预补下知识,回头再读这篇文章,相信俩篇文章都能给你带来不少的收获. 为了形象.易懂的解释负margin,我们将引入W3C

css中的margin及外边距折叠

平时在工作中,总是有一些元素之间的边距与设定的边距好像不一致的情况,一直没明白为什么,最近仔细研究了一下,发现里面有学问:垂直元素之间的margin有有互相重叠的情况:新建一个BFC后,会阻止元素与外界元素的重叠现象. 先了解几个概念:可替换元素.不可替换元素(non-replaced element).包含块(containing block).块级格式化上下文(BFC). 1.可替换元素与不可替换元素 根据css1 中所述:所谓可替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内

用margin还是用padding?(3)—— 负margin实战

看过一篇文章是关于我知道你不知道的负Margin,里面对margin做了总结: 当margin四个值都为正数值的话,那么margin按照正常逻辑同周围元素产生边距.当元素margin的top和left是负值时会引起元素的向上或向左位置移动.而当元素margin的bottom和right是负值时会影响右边和下边相邻元素的参考线. 接下来就讲在实际开发中用到的几个比较常用的负margin实例: 1.bootstrap框架的栅格系统是一个亮点,它就用了负margin来完美的解决了container 和

margin知识

今天研究了一下css中的margin,发现其中大有学问.margin存在边距合并的问题,而且在内联元素和块级元素中边距合并规则不同:什么时候该用padding.什么时候该用margin要区分开:负margin的用途多多. 一.margin的用途:margin的基本用途就是控制元素与周围其他元素的间隔. 二.margin的用法: margin通过使用单独的属性,可以对上.右.下.左的外边距进行设置.即:margin-top.margin-right.margin-bottom.margin-lef

你不知道的Canvas(二)

你不知道的Canvas(二) 一.色彩Colors 到目前为止,我们只看到过绘制内容的方法.如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle. fillStyle = color 设置图形的填充颜色. strokeStyle = color 设置图形轮廓的颜色. color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象.默认情况下,线条和填充颜色都是黑色(CSS 颜色值 #000000). 输入的应该是符合 CSS3 颜色值标准 的有效

你不知道的JavaScript--Item23 定时器的合理使用

1.定时器概述 window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval.其中前者可以使一段代码在指定时间后运行:而后者则可以使一段代码每过指定时间就运行一次.它们的原型如下: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); 其中,expression可以是用引号括起来的一段代码,也可以是一个

须知的css——margin不重叠的情形

margin重叠 摘自css2.1规范中文版 CSS中,两个或者多个盒(可能但不一定是兄弟)的相邻的margin会被结合成一个margin.Margin按这种方式结合叫重叠(collapse),产生的结合的margin叫做重叠margin. margin重叠的计算规则 摘自css2.1规范中文版 当两个或者更多的margin合并时,产生的margin宽度为合并margin宽度中的最大值.至于负margin,就从正相邻margin的最大值中减去负相邻margin的绝对值的最大值.如果没有正marg

深入理解CSS中的margin

1.css margin可以改变容器的尺寸 元素尺寸 可视尺寸--标准盒子模型中盒子的宽度是不包括margin值的,clientWidth 占据尺寸--包括margin的宽度 outWidth不在标准之中,jquery中有相对应的方法 margin与可视尺寸 1.1使用那个与没有设定width/height的普通block水平元素 2.2只适用于水平方向尺寸 <body style="background-color:#1a2b3c"> <div style=&quo

margin塌陷现象

如果两个盒子是包含关系,如果让子盒子在父盒子之内向下平移100px:(margin塌陷现象)解决方案: padding , border , overflow <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>盒子模型</title> <style>/*margin塌陷*/ .box1 { wi