`
wangweike
  • 浏览: 66419 次
  • 性别: Icon_minigender_1
  • 来自: Mars
社区版块
存档分类
最新评论

框模型 Box Model

    博客分类:
  • html
 
阅读更多
1.框模型由外向内:
  margin,border,padding,content四层。
  过度约束:指框模型的宽度或高度属性都指定了非auto的值时,其中之一的计算值将和它的指定值不同。

2.包含块 Containing Block
   绝对定位的块级元素的包含块是由最近的position值不是static的祖先块级元素生成,或者元素的包含块是初始包含块。通常是body
   常规流向的元素的包含块的宽度,就是元素的父元素的内容框的宽度。

3.width:块级元素和可替换元素的内容框的宽度
   非替换行内元素的宽度是其内容经过浏览器解释后实际的宽度,而不能设置其width值。
   替换元素具有内在尺寸,它们的width属性是有效的。如img,根据层叠原理,css的width属性优先于html元素的width属性。
  width是百分比时,在css2中,百分比的基数是元素的包含块的宽度值。
  定义图片的高度时,如果未定义宽度,图片会等比例缩放。
  可以把非替换行内元素设置为display:block,它会自动充满父块元素的内容宽度。
  width的默认值是auto,非浮动的块级元素表现为,它的框宽度总是会填充满父元素的内容框,此时其它尺寸属性的值为0。即 self.width=父.width-self.marginLeft-self.marginRight;width为auto时,会尽量占据最大的宽度。
   块级元素才具有上下边距及width属性。

4.border
   边框颜色:{border-color:red red red red;},以及border-top-color,相应地right,bottom,left。
   边框宽度:{border-width:1em 1em 1em 1em;},以及border-top-width,相应地right,bottom,left。取值为:thin,medium,thick或数值,inherit。
   边框样式:boder-style:solid dotted dashed outset; 以及border-top-style,相应地right,bottom,left。取值:none,hidden,dotted,dashed,solid,double,groove,ridge,inset,outset, 
详见http://zh.html.net/tutorials/css/lesson11.php

  不同方向的边框缩写形式:
  {border-top:3px solid #E10001;} //顺序不做要求,并且可省略其中的值。
  {border:3px solid #E10001;} //border定义同时对4个边框起作用。
  {border:0;}   {border:none;} 取消边框的定义

  border:0和border:none区别:
  border:0把border设为0px,虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值;
border:none把border设为"none"即没有,浏览器解析"none"时将不作出渲染动作,不会消耗内存值。建议使用border:none;
  同样的,display:none隐藏对象浏览器不作渲染,不占用内存,而visibility:hidden则会。


边框圆角的渲染:
border-radius: 30px; 可以为每个角设定不同的值. 请注意 Firfox 和 webkit 对圆角属性的不同命名方式.

  便于浏览器渲染圆角, 为 webkit 添加 "-webkit-", 为 Firefox 添加 "-moz-". 注意 Firfox 和 webkit 对圆角属性的不同命名方式.


构成 Box 阴影的参数序列与 text-shadow 属性相同: x-offset, y-offset, blur, and color.
-moz-box-shadow:
-2px -2px 0 #fff,
2px 2px 0 #bb9595,
2px 4px 15px rgba(0, 0, 0, .3);

5.padding 补白,填充,内边距,内补丁。
   padding不包含在width,height之内,
   padding区域会透出背景颜色
   padding的百分比值基数是包含块的宽度,padding的四个值都是,与包含块的高度无关。

   对于行内元素,padding不会影响到行高,行高不是元素的height值,设置了padding的span元素的垂直方向的背景色会在行框外显示。
   对于行内元素,边框到内容之间的距离不受行高line-height影响,要设置padding才行。

6.margin 边白,外边距,外补丁
   边框外的透明区域,显示出父元素的背景。
   垂直方向margin对非替换的行内元素无效。
   边距的百分比值的基数也是基于包含块的宽度。
   边距允许负值,补白不允许负值。
   横向的7个属性中,with,margin-left,margin-right值可以为auto,其余默认为0。
   当margin-left:auto,width,margin-right都不是auto时,self.marginLeft=父.width-self.width-self.marginRight;
   当margin-left,margin-right都为auto,width不是auto时,self.marginLeft=self.marginRight=(父.width-self.width)/2,这实现了水平居中。
   当margin-left:auto; width:auto; margin-right:10px;时,self.width=parent.width-10px,margin-left结果为0。
  
7.边距重叠:指边距合并,只发生在垂直方向。在常规流向中,相邻的块框垂直边距会发生重叠,结果是边距较大的那个值。
   边距重叠在元素与其后代元素间的出现,只限于元素本身没有文字内容、边框,及补白时。
   浮动元素、绝对定位元素、及行内元素(display:inline-block)与其它元素框的垂直边距不重叠。inline-block元素具有块级元素特性,同时可在一行内显示。
   元素的overflow属性值不为visible时,也不会重叠。overflow:auto 会产生滚动条;
   根元素与其后代元素的边距不重叠。

8.页面水平居中
   body padding-left:50%,元素A margin-left:负值宽度的一半,实现A在页面中水平居中。
   因为padding的百分比是基于包含块的宽度,所以这个方法实现不了垂直居中。
   页面水平,垂直居中
这里我们使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二
<div style="margin:auto;width:250px;height:250px;position:absolute;top:50%;left:50%;margin:-125px 0 0 -125px;">


9.height 
   百分比值的高度,以包含块的高度为基数计算。

10.块级元素生成一个主块框,block box,主块框或者只包含多个块框,或者只包含多个行内框 inline box。不会两者同时包含。当被包含元素有块框时,同级的被包含的行内框会被包含在一个匿名的块框或者插入框之内。

11.行内框 inline box
     display:inline, display:inline-table,display:run-in。
      块级元素生成块框,行内元素生成行内框。
     同匿名块框类似,当被包含元素有只有行内框时,同级的被包含的文字会被包含在一个匿名行内框中。

12.插入框 run-in box
     如果插入框包含块框,或者它后面是一个原始标准块框,它就是一个块框了;
     如果插入框不包含块框,且它之后是一个标准块框,则插入框变成后面的块框的第一个行内框。这种变化在相邻的插入框和块框间只能有一次。
     这里说的原始标准块框是指,它不是插入框,也不是和插入框融合过的块框。
     插入框的属性继承文档树中它的父元素,不是融合后的父元素。






分享到:
评论

相关推荐

    彻底弄懂CSS盒模型 Box Model

    【彻底弄懂CSS盒模型 Box Model】 在网页设计中,CSS盒模型是理解网页布局的基础。这个模型描述了网页元素如何占用空间并与其他元素交互。盒模型包括四个关键部分:内容(content)、内填充(padding)、边框...

    layerModel_seedz3k_box_model_

    在IT行业中,"layerModel_seedz3k_box_model_"似乎是一个特定项目或软件组件的标识符,这可能是一个专门设计的层模型或者架构,采用了"seedz3k box model"的概念。这个描述提示我们,我们要探讨的是一个与图形用户...

    JQuery 确定css方框模型(盒模型Box Model)

    做过前台设置的都知道css存在两种盒模型,W3C标准的方框模型和IE浏览器的方框模型。除IE以外的大多数浏览器只支持W3C方框模型。IE浏览器能够根据页面的呈现模式的定义而是用对性的方框模式。已用哪中呈现的模式取决...

    CSS 盒模型(Box Model)的学习和理解

    CSS盒模型(Box Model)的学习和理解一直是学习DivCSS网页布局的基础内容。但有很多CSS初学者依然不够熟悉,虽然我们提供了很多相关的教程。大家可以多学习与思考。今天发布一篇一位CSS初学者对CSS盒模型(Box Model...

    CSS3样式表-框模型(盒子模型).pptx

    在网页设计中,CSS3框模型(Box Model)是理解和布局页面元素的关键概念。它定义了网页元素如何占据和影响页面空间,包括元素的内容区域、内边距、边框和外边距。框模型使得开发者能够精确控制元素的显示方式,从而...

    boxmodel:CSS盒模型编辑器界面构建器输入试用

    BoxModel-CSS盒子模型编辑器 BoxModel是一个jQuery插件,可帮助用户创建紧凑的表单输入,以编辑html表单中的box模型css。 它可以提交几个详细信息,例如单独的值以及可以在CSS块中使用的组合的优化单位。 它支持鼠标...

    解析CSS的box model盒模型及其内的子元素布局控制

    Box Model分为两种:W3C标准模型和IE传统模型。 1. W3C标准Box Model: 在W3C的标准模型中,元素的实际宽度和高度计算如下: - 内容区域(Content):这是元素的实际内容,如文本或图像。 - 内边距(Padding):...

    matlabr2012b代码-gbc-boxmodel:Amos等。(2014)全球汞循环的盒子模型

    R2012b代码gbc-boxmodel Amos等。 (2013; 2014)全球汞循环的盒子模型 上次更新时间:2017年9月4日 有疑问或意见吗? 联系人:埃尔西·桑德兰或科林·萨克雷哈佛大学 电子邮件:或网络: 引用代码 Amos,HM,DJ ...

    css-box-model:获取有关Element的准确且名称明确CSS Box模型信息:package:

    // profit安装 # # yarnyarn add css-box-model# npmnpm install css-box-model --save 箱型作品保证金箱边距+边框+填充+内容边框边框+填充+内容填充盒填充+内容内容盒内容这是我们返回的BoxModel : export ty

    boxmodel:用python编写的盒子模型

    同位素盒模型 用Python编写的盒模型。 数值发展是对以下方法的改编: : 当前引擎允许计算具有不同盒质量,同位素比,分配系数和通量的多盒系统的演化。 它最初是为人体中的Fe比建模而开发的。 有关该模型的详细...

    Web程序开发:第11章 框模型.pdf

    框模型(Box Model)是CSS布局的基础,它描述了元素在页面上的占据空间方式。每个HTML元素都可以看作是一个矩形框,这个框由内容区域(content)、内边距(padding)、边框(border)和外边距(margin)组成。内容...

    HTML和CSS的关键:盒子模型(Box model)

    HTML和CSS中的盒子模型(Box model)是网页布局的基础,它是理解CSS布局的关键。这个模型定义了元素在页面上的占用空间,包括元素的内容区域(Content)、内边距(Padding)、边框(Border)以及外边距(Margin)四...

    图文讲解CSS的Box Model盒模型中的边距

    在Web页面设计中,CSS(层叠样式表)盒模型(Box Model)是理解布局的基础。盒模型描述了网页元素如何占用空间,包括元素的内容、内边距、边框和外边距。对于精确控制元素的尺寸和间距,理解盒模型至关重要。 1. **...

    boxModel

    在"boxModel-master"这个压缩包文件中,可能包含了关于Box Model的示例代码、教程或练习,用于帮助学习者深入理解和实践Box Model的应用。你可以通过解压文件,查看里面的HTML和CSS文件,动手尝试调整Box Model的...

    dace_代理模型_代理模型工具箱_matlab_Kriging;_

    在IT领域,代理模型(Surrogate Model)是一种用于复杂计算问题的近似技术,它可以显著减少高成本函数的评估次数,比如在优化、仿真或工程设计等问题中。MATLAB是实现这种技术的强大平台,其中Kriging代理模型是常用...

    基于Box-Cox Dogit停车需求预测模型

    文章中还提及了模型的不同组成部分,例如“Generation Rate Model”(生成率模型)和“Static-traffic Generation rate Model”(静态交通生成率模型),这些模型通过分析出行生成和吸引的规律,来预测停车需求的...

    css 盒模型整理

    CSS盒模型主要分为两种:标准盒模型(W3C Box Model)和IE盒模型(Internet Explorer Box Model)。这两种模型在处理元素宽度和边距时有所不同。 #### W3C盒模型: - 内容区域(Content):实际的内容,如文字或...

    使用osg获取模型的世界坐标下的包围盒

    这涉及到矩阵变换,通常包括模型视图矩阵(Model-View Matrix)和投影矩阵(Projection Matrix)的组合应用,以确保包围盒的位置和大小反映了模型在实际场景中的状态。 以下是一段示例代码,展示了如何使用osg获取...

Global site tag (gtag.js) - Google Analytics