基于CSS盒模型中的margin属性解析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:liyongguang9280
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:因特网的迅速发展使得HTML 排版界面效果的局限性日益明显。DIV CSS解决了网页界面布局的难题,成为当前网页布局方式中的主流技术。而CSS盒模型更是这一技术中的重要概念,在CSS盒模型的属性中,margin属性尤为重要,它几乎可以设置在任何元素上,在使用的时候也容易出现一些问题,本文将通过实例对margin 属性进行详细解析。
  关键词:CSS;盒模型;margin
  中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)36-0074-02
  现在,CSS已经发展得非常成功了,无论是在浏览器还是应用商店,甚至聊天客户端,CSS都无处不在并且没有任何消退的迹象。CSS也叫层叠样式表(Cascading Stylesheet),在页面制作时采用 CSS 技术,可以控制文本的颜色、字体的样式、段落的间距、背景的图像颜色以及其他各种视觉效果。其主要优势在于,相同的CSS可以用在多个页面上。当CSS与HTML、XHTML结合使用时,CSS展现出了强大的能力。
  CSS盒模型,是基于CSS的Web设计中非常重要的概念,因为盒模型是CSS定位布局的核心内容。盒模型是针对HTML元素的一组规则,制定了元素的高度、宽度、内边距、边框和外边距是如何度量的,下面从盒模型是什么开始讲起。
  1 CSS盒模型概念
  XMTML中大部分的元素(特别是块状元素),都可以看作是一个盒子,而网页的元素定位实际就是这些大大小小盒子在页面中的定位。当某个块状元素被CSS设置了浮动属性,这个盒子就会自动排到上一行。网页布局即关注这些盒子在页面中如何摆放、如何嵌套的问题。为什么要把XHTML元素作为盒模型来研究呢?因为XHTML元素的特性和盒子非常相似,盒子中的内容到盒子的边框之间的距离及填充(padding);盒子本身有边框(border);盒子边框外和其他盒子之间有边界(margin),效果如图1所示。
  
  图1 盒模型示意图
  大多数XHTML元素的结构都类似于图一所示,除了包含的内容(文本或图片)外,还有内边距、边框和外边距一层层的包裹。我们在布局网页和定位XHTML元素时要充分地考虑这些要素才可以更加自如地摆弄这些盒子。下面我们就重点讲一讲盒子的外边距margin属性的应用。
  2 CSS盒模型中的margin属性
  margin属性应用于盒子外面的空间,或者是位于盒子和浏览器窗口之间的区域,又或者是位于盒子和文档中其他元素之间的区域。表一显示了各种margin属性。margin属性是margin-top、margin-right、margin-bottom和margin-left四个单独属性的简写属性。值得注意的是盒模型简写属性总是以顺时针方向指定,从top开始: top、right、bottom和left。
  2.1 margin 的基本写法
  表达式:margin:top right bottom left;
  margin属性值是数值单位,可以是长度、百分比或 auto,margin 甚至可以设为负值,造成 BOX与BOX之间的重叠显示。
  例如:margin:70px 100px 50px 100px;可以看到这个语句给相应内容设置了有70px上外边距,100px的左右外边距和50px的下外边距的BOX。
  margin 在书写时可以省略参数,基本原则如下:
  1)如果没有left值,则默认使用right值替代;
  2)如果没有bottom值,则默认使用top值替代;
  3)如果没有right值,则默认使用top值替代。
  例如:margin:50px 100px;这个语句等同于
  margin:50px 100px 50px 100px;
  margin:50px;这个语句等同于
  margin:50px 50px 50px 50px;
  2.2 margin 边界折叠问题
  在CSS中,当两个或多个BOX的上或下外边距接触时,会产生外边距折叠。只有垂直margin会折叠,水平margin不会。相邻两个BOX折叠后的最终margin 值计算方法如下:
  1)两者都为正值,取值大者;
  2)值有正负,两者都取绝对值,再用正值减去最大绝对值;
  3)全为负值,两者都取绝对值,再用 0 减去最大绝对值。
  如果一个子元素的外边距直接接触到父元素的外边界,也会发生margin折叠。如上算法,较大的外边距是胜利者,胜利的外边距总是应用到父元素,子元素的margin总是被折叠。因此,如果可以防止两个外边距相互接触,那么margin折叠就可以避免。可以通过对父元素使用内边距或者边框来防止两个外边距接触。
  但是在一些特殊情况或是一些设置前提下,盒模型的垂直 margin不会被折叠。如果相邻的盒模型中,其中一个是浮动的(floated),那么垂直 margin则不会被折叠,而且这个浮动盒模型的里的子元素之间也不会折叠;设置了display:inline-block 的元素,包含它的子元素,它们的垂直margin都不会被折叠;设置了绝对定位position:absolute的盒模型和它們的子元素,垂直margin不会被折叠。还有一些特殊情况下,盒模型的垂直margin也不会被折叠,这里不一一赘述。
  2.3 margin的解析逻辑
  在盒模型margin中,top、right、bottom、left的基准线并不是统一的,而是分为了两类基准线,top和 left的基准线属于一类,right 和 bottom 的基准线属于另一类。top 以盒模型的上边线为基准线垂直向下移动;left 以盒模型的左边线为基准线水平向右移动。right以盒模型本身的border-right为基准线水平向右移动;bottom以盒模型本身的 border-bottom为基准线垂直向下移动。
  margin属性的这个特点常常被用来水平对齐元素。我们可以通过结合auto关键字和盒子元素的左或右外边距来对齐文档中的元素。
  例如:body{
  width:600px;
  margin:1em auto;}
  这个示例中,设置了body元素的margin属性,将上下外边距设为1em,将左右外边距设为auto。使用一个宽度值后,这种设置的结果是使文档的正文居中显示。一个盒模型在水平方向上所占的宽度,是由margin、 width和padding的值决定,值得注意的是:这些值中, margin-left、margin-right 和width可以设为 auto,如果将margin-top、margin-bottom设置为auto,则会被系统忽略,我们可以将auto理解为:弥补其他部分与所要求总合之间的差别。
  CSS 盒模型是 CSS 网页布局技术中一个基础又非常重要的概念,深刻理解盒模型的结构对于进一步掌握CSS技术有着重要的意义。而CSS盒模型中的margin属性在网页布局中有着举足轻重的地位,如何让网页设计更合理,首先应该掌握CSS盒模型的margin属性。我们在今后的实践中会不断尝试和探索,去发掘CSS盒模型更大的用途和魅力。
  参考文献:
  [1]Lan Pouncey, Richard Youk.CSS入门经典[M].3版.北京:清华大学出版社,2012.
  [2]Andy Clarke.超越CSS:Web设计艺术精髓[M].北京:人民邮电出版社,2012.
  [3]巴德.精通 CSS:高级Web标准解决方案[M].北京:人民邮电出版社,2010.
  [4]施密特.CSS Web设计高级教程[M].北京:清华大学出版社,2009.
其他文献
选择浙江天童常绿阔叶林次生演替的四个主要阶段:灌草丛、马尾松林、木荷林与栲树林,研究其土壤剖面特征和碳密度的变化规律。结果显示:(1)随演替进行,演替后期土壤机械组成的细颗
随着信息技术的高速发展,在线考试系统已成为基于"互联网+"的现代教育的组成部分。从系统设计原则、三层架构、AJAX技术及实现方案出发,构建一个基于ASP.NET AJAX技术的在线
我国自上而下的第八次基础教育课程改革.义务教育阶段已进行了近三年的实验,今年秋季小学和初中起始年级将全面实施新课程。高中新课程实验即将开始。这次课程改革从发生过程来
介绍由约束场和受重力影响的对流扰动耦合而成的衰减平衡向量场动力学方程的特征值渐近求解.通过引进新的参数,将一个复杂的三维约束耦合动力学特征方程转化成复空间里一维的
对于交换的C^*-代数,它的每一个遗传子代数(或单侧闭理想)都是它的双侧闭理想.反之,利用C^*-代数A上的纯态与A中极大左理想的对应关系,得到了:若A中的每一个遗传子代数(或单侧闭理想)都
有争鸣之势,必有论辩之文。诸子欲“以其道易天下”。遂“各引一端,崇其所善,以此驰说,取合诸侯”。作为中国社会政治影响极大的儒、法学说,《孟子》和《韩非子》的论辩艺术对后世
劳动力市场发展中政府角色与作用变化的趋势周炎忠(马鞍山市劳动局局长马鞍山243011)关键词劳动力市场就业政府职能政府在劳动力市场上地位和作用不是一成不变的。随着我国市场经济的
河北衡水中学语言教研组长,中学高级教师,衡水市语文学科牵头人,全国青语会会员河北省修辞学会会员,教育部重点课题诱思探究教学理论重点实验教师,衡水市“三优”标兵。
半命题作文介于话题作文与全命题作文之间.既有所限制叉不失开放,在立意、选材、构思等方面给考生适当的选择余地.“把风筝放飞在蓝天下”就是对半命题作文生动恰当的评价。半命
直觉思维是在早已获得的经验、知识的基础上,凭思维的“感觉”直观地把握事物本质和规律的心理过程。直觉思维在创新思维中占据重要位置。在具体研究活动中,一般都是从粗略的思