《精通CSS》框模型

目前正在阅读《精通CSS》的电子书,记下读书过程中的理解和不解,以便以后查阅。

第二章  

要掌握的三个最重要的CSS概念是浮动、定位和框模型。

      框模型是CSS的基石之一,它制定元素如何显示以及如何相互交互。页面上的每个元素被看做一个矩形框,这个框由元素的内容、填充、边框和空白边组成。

   在CSS中,width和height指的是内容区域的宽度和高度。增加填充、边框和空白边不会影响内容区域的尺寸,但是会增加元素框的总尺寸。但是在IE
6和其之前的版本中,会将填充(padding)视为内容的一部分,所以为元素指定填充就会占用内容的显示宽度,从而挤压内容。解决方法就是不要给元素设置指定大小的填充,而是尝试将填充或者空白边添加到元素的父元素或子元素。

    填充、边框和空白边可以应用于一个元素所有的边,也可以应用于单独的边。空白边还可以是负值,并且在多种技术中都要使用这种负值的空白边。

    空白边叠加是一个相当简单的概念,但是在实际中对网页进行布局时,会造成许多混淆。简单的说:当两个垂直空白边相遇时,它们将形成一个空白边。这个形成的空白边的高度等于两个发生叠加的空白边的高度较大者。

            情况1:  当一个元素出现在另一个元素上面时,第一个元素的底空白边与第二个元素的顶空白边发生叠加。如下图:

                      
 

              情况2:  当一个元素包含在另一个元素中时(假设没有填充或边框将空白边分开),它们的顶和/或底空白边也会发生叠加。如下图:

情况3:  空白边甚至可以与本身发生叠加。假设有一个空元素,它有空白边,但是没有边框或者填充。这种情况下,顶空白边就会

                    与顶空白边碰到一起,它们会发生叠加。如下图:

                          
  如果这个空白边遇到了另一个元素的空白边,它还会发生叠加。如下图:

    这就是一系列空的段落元素占用的空间非常小的原因,因为它们所有的空白边都叠加到一起,形成一个小的空白边。

    空白边叠加初看上去可能有些奇怪,但它实际上是由意义的,以由几个段落组成的典型文本为例,如下图。第一个段落上的空白等于顶边上的空白边,如果没有空白边叠加,后续所有段落之间的空白边将是相邻顶空白边和底空白边的和。这意味着段落之间的空间是页面顶部空间的两倍。如果发生空白边叠加,段落之间的顶空白边和底空白边就叠加在一起,这样各处的距离就一致了。

    只有普通文档流中的块级框的垂直空白边才会发生叠加。行内框、浮动框或者绝对定位框之间的空白边不会叠加。

ps:这部分的知识也解释了在实际开发过程中遇到的问题,在为一个div的子元素设定margin-top时候,如果这个子元素是块级元素而且没有浮动和绝对定位,那么设定的margin-top会应用到父级div上面,而子元素和父级div之间还是没有margin,根据上面所述的空白边叠加,就知道这是因为父级div的margin-top和子元素的margin-top相互叠加的原因,叠加后的值等于被叠加的两个值中较大者。

时间: 2025-01-04 02:34:42

《精通CSS》框模型的相关文章

关于CSS框模型及定位的概念

一.CSS框模型(box model)包含了边框(boder).外边距(margin).内边距(padding).宽(width).高(height).元素(element).背景应用于由内容.边框.内边距组成的区域.单边内边距的属性有四个,分别设有上.右.下.左内边距:padding —top   padding—right  padding—bottom  padding—left. 内边距数值可以是阿拉伯数字(单位厘米),也可以是百分比数值.边框的样式在boder—style中设置,可以定

CSS 框模型

1.CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.外边距和边框的方式. 如左下图表示元素内容.内边距.外边距和边框四者关系 2.元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 在 CSS 中,width 和 height 指的是内容区域的宽度和高度.增加内边距.边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸. 假设框的每个边上有 10 个

CSS框模型(框模型概述、内边距、边框、外边距、外边距合并)

CSS 框模型概述 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 内边距.边框和外边距都是可选的,默认值是零.但是,许多元素将由用户代理样式表设置外边距和内边距.可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式.这可以分别进行,也可以使用通用选择

CSS 框模型概述

CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. CSS 框模型概述 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 提示:背景应用于由内容和内边距.边框组成的区域. 内边距.边框和外边距都是可选的,默认值是零.但是,许多元素将由用户代理样式表设置外边距和内边距.可以通过将元素的 margin 和 padding 设置为零来覆盖

CSS框模型,浮动,定位以及其他属性

1.CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式 element : 元素. padding : 内边距,也有资料将其翻译为填充. border : 边框. margin : 外边距,也有资料将其翻译为空白或空白边. 围绕在元素边框的空白区域是外边距.设置外边距会在元素外创建额外的“空白”.设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位.百分数值甚至负值. * { margin: 0; padding: 0;}

CSS 框模型(Box Model)

CSS 框模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容. 盒模型允许我们在其它元素和周围元素边框之间的空间放置元素. 下面的图片说明了框模型(Box Model): 不同部分的说明: Margin - 清除边框区域.Margin没有背景颜色,它是完全透明 Border - 边框周围的填充和内容.边框是受到盒子的背景颜

css框模型及position属性

css框模型:1.padding  内边距   数值.百分比    不接受负值 2.margin  外边距    数值.百分比    可以接受负值 例:  padding:50px(上)   50px(左右)    50px (下)  50px(上下) 50px (左右) 50px (上)  50px (右)50px (下)50px (左) display:inline  块级元素转为行内元素 block   行内元素转为块级元素  inline—block  行内块元素 display:non

CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式

转自:http://www.w3school.com.cn/css/css_boxmodel.asp 要知道在父元素:float, rel, abs位置情况下,box模型的变换情况,请见:http://www.cnblogs.com/hh54188/archive/2010/12/28/1919078.html,此外,对于如何计算父元素的width和height,该文章也说明了~ CSS 框模型概述 元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框

第十七天学习:CSS框模型

关键字:框模型 学习计划: CSS框模型简介 border特性 padding特性 margin特性 学习记录: CSS框模型(box model) 规定了元素框处理元素内容.内边距.边框和外边距的方式 可以使用CSS分别控制每个框的顶部.底部.左边和右边边框以及页边空白和内边框:并且可以为框的每一边指定不同的宽度和颜色 元素框的最内部分是实际内容,直接包含的内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后面的任何元素. 背景应用于由内容

css框模型、定位、浮动

一.CSS 框模型概述 1.CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框.外边框的方式. 2.元素框的最内部分是实际的内容,直接包围内容的是内边距.内边距呈现了元素的背景.内边距的边缘是边框.边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素. 提示:背景应用于由内容和内边距.边框组成的区域. 二.css内边框 1.元素的内边距在边框和内容区之间.控制该区域最简单的属性是 padding 属性. 2.CSS padding 属性定义元素边框与元素内