欢迎来到2018培训网!

咨询热线

位置:郑州2018培训网 > 郑州电脑 > 郑州程序设计

郑州HTML5培训高级班课程

授课机构:蓝鸥郑州中心

地址:郑州市高新区莲花街牡丹路教育科技产业园区B座

网报价格:¥电询

课程原价:¥1

咨询热线:

课程详情 学校简介 学校地址 网上报名

关键词:HTML5培训 郑州HTML5培训 HTML5前端培训

你知道margin有什么特性吗?
你知道什么是垂直外边距合并?
margin在块元素、内联元素中的区别?
什么时候该用padding而不是margin?
你知道负margin吗?
你知道负margin在实际工作中的用途吗?
常见的浏览器下margin出现的bug有哪些?……
写css
你少不了与margin打交道,而对于这个平时我们最常用的css属性我们并非十分了解。介于此蓝鸥郑州HTML5培训小编打算写下这篇文章,一来是郑州HTML5培训工作中的总结,也是对自己知识的一次梳理。希望这篇文章能帮助到郑州HTML5培训前端的小伙伴们。
Margin是什么
解释一
CSS 边距属性定义元素周围的空间。通过使用单独的属性,可以对上、右、下、左的外边距进行设置。也可以使用简写的外边距属性同时改变所有的外边距。——W3School
解释二
边界,元素周围生成额外的空白区。“空白区”通常是指其他元素不能出现且父元素背景可见的区域。——CSS权威指南
我比较喜欢使用“外边距”这个词来解释margin(同理padding可以称之为“内边距”,但是我又恰恰喜欢称呼padding为“补白”或者“留白”),我们可以很清楚的了解到margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
Margin的特性
margin始终是透明的。
margin通过使用单独的属性,可以对上、右、下、左的外边距进行设置。即:margin-top、margin-right、margin-bottom、margin-left。
外边距的 margin-width 的值类型有:auto | length | percentage
也可以使用简写的外边距属性同时改变所有的外边距:margin: top right bottom left;(eg: margin:10px 20px 30px 40px) 记忆方式是元素周围正上方顺时针“上右下左”记忆。
并且规范还提供了省略的数值写法,基本如下:
1、如果margin只有一个值,表示上右下左的margin同为这个值。例如:margin:10px; 就等于 margin:10px 10px 10px 10px;
2、如果 margin 只有两个值,第一个值表示上下margin值,第二个值为左右margin的值。例如:margin:10px 20px; 就等于 margin:10px 20px 10px 20px;
3、如果margin有三个值,第一个值表示上margin值,第二个值表示左右margin的值,第三个值表示下margin的值。例如:margin:10px 20px 30px; 就等于 margin:10px 20px 30px 20px;
4、如果margin有四个值,那这四个值分别对应上右下左这四个margin值。例如:margin:10px 20px 30px 40px;
在实际应用中,个人不推荐使用三个值的margin,一是容易记错,二是不容易日后修改,一开始如果写成margin:10px 20px 30px;日后需求改动为上10px,右30px,下30px,左20px,你不得不还是得把这个margin拆开为margin:10px 30px 30px 20px;费力且不讨好,不如一开始就老老实实的写成margin:10px 20px 30px 20px;来的实在,不要为了现在节省俩个字节而让日后再次开发的成本上升。
垂直外边距合并问题
别被上面这个名词给吓倒了,简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。你可以查看W3Shool CSS外边距合并了解这个基本知识。
实际工作中,垂直外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,而且只在标准浏览器下(FirfFox、Chrome、Opera、Sarfi)产生问题,IE下反而表现良好。例子可以查看下面代码(IE下表现“正常”,标准浏览器下查看出现“bug”):

如果按照CSS规范,IE的“良好表现”其实是一个错误的表现,因为IE的hasLayout渲染导致了这个“表现良好”的外观。而其他标准浏览器则会表现出“有问题”的外观。好了,如果你读过了上面W3Shcool的CSS外边距合并的文章后,就很容易讨论这个问题了。这个问题发生的原因是根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。
再说了白点就是:
父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自己“领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的 border或者padding就可以有效的管制这个目无领导的margin防止它越级,假传圣旨,把自己的margin当领导的margin执行。
对于垂直外边距合并的解决方案上面已经解释了,为父元素例子中的middle元素增加一个border-top或者padding-top即可解决这个问题。
一般说来这个问题解释到这里,大多数文章就不会再深入下去了,但作为一名实战开发者,最求的是知其然知其所以然,原本使用margin-top就是为了与父元素隔开距离,而按照你这么一个解法,其实是一种“修复”,为了“弥补修复”这个父子垂直外边距合并这个CSS规范“Bug”,而强制在父元素上使用border-top和padding-top,不舒服,也不容易记住,下次再发生这样的情况还是会忘记这条准则,而且在页面设计稿里如果不需要border-top加个上边框,这么一加反而画蛇添足,为以后修改留下隐患。
以上就是蓝鸥郑州HTML5培训http://hn.lanou3g.com/zt/h5Web/小编对margin知识的总结。蓝鸥是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、VR/AR开发、Android开发、HTML5前端开发、Web安全攻防、UI设计、PHP、Java、VD视觉设计、新媒体运营、产品经理等技术人才的培养。

QQ:2290909800 QQ交流群:493076664;97682894;咨询电话(Phone):15838221845(手机)

地址(Address): 郑州市高新区莲花街牡丹路教育科技产业园区B座。

点击这里QQ询问

蓝鸥郑州中心简介

蓝鸥——中国移动互联网行业领军品牌
  蓝鸥是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、VR/AR开发、Android开发、HTML5前端开发、Web安全攻防和UI设计等技术人才的培养。蓝鸥强大的师资阵容,纯净的教育理念,严格的管理制度,使其成为了美国苹果公司AATC认证官方授权培训中心、Unity官方授权培训中心,也是目前国内仅有的一家“两大官方授权于一身”的移动互联网培训企业。
  2012年10月18日,刘辉、李静波、崔亚允,中国移动互联网开发行业的三位领军人物,强强联手,倾力打造,并在开发、技术、教学上,护航蓝鸥一路向前。经过三年多的发展,蓝鸥现已拥有在职员工500多人,学员15000多人。2016年年初蓝鸥被上市公司神州泰岳注资,此次融资将开辟蓝鸥的产业及学科布局。同年八月蓝鸥成功将九年老牌顶级UI培训机构先行迦美收归旗下,将蓝鸥在产业和学科上的新布局落地实施。目前,蓝鸥在全国共拥有9家实训中心、2家中心直属分院和1家项目研发基地,分别是:北京(清河)实训中心、北京(清华)UI实训中心、上海实训中心、广州实训中心、大连实训中心、郑州实训中心、西安实训中心、武汉实训中心、成都实训中心、北京中心直属分院(石家庄)、大连中心直属分院(哈尔滨)和上海项目研发基地。

  • 学校名称:蓝鸥郑州中心

    固定电话:

    授课地址:郑州市高新区莲花街牡丹路教育科技产业园区B座 预约参观