margin小结

一. margin百分比

1. 普通元素的百分比margin都是相对于容器的宽度计算
2. 绝对定位元素的百分比margin是相对于第一个定位祖先元素(relative/absolute/fixed)的宽度计算

这是在默认的 writing-mode: horizontal-tb; 和 direction: ltr; 的情况下,
若书写模式变成纵向的时候,其参照将会变成包含块的高度。

二. margin重叠

1. 通常特性
  block水平元素(不包括float和absolute元素)
  不考虑writing-mode,只发生在垂直方向(margin-top/margin-bottom)

2. 重叠的3种情境

A.相邻的兄弟元素

B. 父级和第一个/最后一个子元素

  子元素的margin-top相当于父元素的margin-top
a.margin-top重叠
  父元素非块状格式化上下文元素
  父元素没有border-top设置
  父元素没有padding-top值
  父元素和第一个子元素之间没有inline元素分隔

b.margin-bottom重叠
  父元素非块状格式化上下文设置
  父元素没有border-bottom设置
  父元素没有padding-bottom值
  父元素和第一个子元素之间没有inline元素分隔
  父元素没有height,min-height,max-height

C.空的block元素

  元素没有border设置
  元素没有padding值
  里面没有inline元素
  没有height或者min-height

3. 计算规则
  正正取大值
  正负值相加
  负负最负值

三. margin auto

margin的值为auto,是自动占据包含块的剩余空间,例如

<div id="demo">
    <p>恩,我就是那个p。</p>
</div>
#demo{
  width: 500px;
}
#demo p{
  width: 100px;
  margin-left: auto;
}

则p的实际margin-left为500-100=400px,p元素右对齐

当margin-left和margin-right同为auto时,左右平分剩余空间,元素居中

参考:https://segmentfault.com/a/1190000006212076
        http://www.ituring.com.cn/article/64580
        http://www.ituring.com.cn/article/64581

时间: 2024-08-09 21:52:33

margin小结的相关文章

margin collpase(margin合并)小结

一.前言 标题的margin collpase(margin 合并),江湖又成"margin 塌陷":以前对margin 合并的理解就是在紧邻的兄弟元素中上一个的margin-bottom会和下一个的margin-top合并:紧邻父子元素,margin-top会合并:然后,就没有然后了.直到实际项目中,看到已有项目中存在父子margin没有合并的现象,但是自己又理解不了的时候,才人认真的将w3c中有关margin合并的规则看一遍. 二.margin collpase margin co

MyBatis动态SQL小结

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: 等线 } .MsoChpDefault { font-family: 等线 } div.WordSection1 { } ol { margin-bottom: 0cm } ul { margin-bottom: 0cm } Mybati

JavaScript学习笔记(二)——选项卡小结

Js制作选项卡小结 1.先构思好需要展示的页面效果,比如这样 2.需要显示的效果通过html和css制作出来,包括选项(第一课.第二课)的鼠标停留背景变色.下方选项页内容切换的内容等. 3.把此选项卡分为上下两个部分,并且3个选项对应3个选项页面.上方为id为tab的固定div,需要变换的是鼠标放入li时li切换背景(比如此时li为灰色背景):下方为content容器div,放入需要展示的内容(本例中为3个ul),初始效果为第一个ul显示block,后面两个为display:none. 4.将需

数据挖掘中分类算法小结

数据挖掘中分类算法小结 数据仓库,数据库或者其它信息库中隐藏着许多可以为商业.科研等活动的决策提供所需要的知识.分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型.分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测数据对象的连续取值. 分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强

前端html、Javascript、CSS技术小结

简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页,只需要找找内部是否有html5的标志性标签就行了.然而平时虽然写了不少html,却没怎么关注它的发展史: GML(Generalized Marcup Language)通用标记语言 和SGML(Standard Generalized Markup Language)标准通用标记语言. 由Tim

css 学习小结(1)

之前学习都是把知识点记在本子上,现在重新复习梳理一下,将知识点做个小结: 1.块元素:从上向下流(各元素之间有一个换行); 内联元素:水平方向上相互挨着,总体上从左上方流向右下方; 2.对于图像,通常不仅会设置外边距,还会设置内边距和边框; 3.如果要浮动(float)一个元素,则必须为这个元素设置一个宽度;浮动元素会从正常流中取出,浮动到左边或右边; 4.居中技巧: margin:auto;     //浏览器会根据需要扩展内容区,还会确保左和右外边距相同,所以内容会居中; top:50%;

File API 读取文件小结

简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能做什么也非常值得注意.它不能修改文件,也不能创建新文件. 想保存任何数据,你可以通过Ajax把数据发送到服务器,或者把它保存在本地存储空间中. 取得文件 使用input元素.将其type属性设置为file,这样是最常见的标准上传文本框 隐藏的input元素.为了保证风格一致,可以把input元素隐藏

CSS属性小结之--半透明处理

项目中经常有遇到需求半透明的情况,如图片.文字.容器.背景等等,每次都要去翻以前的项目,不甚其烦.现在一次性做个小结,方便自己查阅,也同时分享给大家: 一. 元素容器透明 1 .div{ 2 opacity: 0.5; /* Firefox.Chorme.Opera等主流浏览器识别 */ 3 filter:alpha(opacity=50); /* IE6及以上IE浏览器识别 */ 4 } 说明: 1. opacity:* 取值0-1之间,由全透明向不透明递增,超过1之后默认不透明: 2. fi

HTML5基础小结(二)——标签小例

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1amlhaGFuNjI5NjI5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 随篇博客的思维导图.继续: 二.看下标签的使用,这里看几个小样例(效果图不再给出): 1.结构标签的使用,这里来看一个页面的布局: <!doctype html> <html> &