(CSS)布模局型总结.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(CSS)布模局型总结

(CSS)布局模型总结2012年6月18日 0:37作者:穿越中的逍遥编者按:作者假设您对CSS布局已具有一定的了解。在网页中,元素有三种布局模型:1、流动模型(position:static)2、浮动模型(float:left、right)3、层模型(position:absolute、fixed、relative)其中比较特殊的布局方式是:position:relative它保留该元素在“流动模型”或者“浮动模型”所占据的空间,不改变元素的显示方式:“内联”或者“块状”。它仅告诉元素按照元素在原来的位置作相对移动。但它毕竟是层模型布局的元素,如果与其它元素重叠,它将显示在非层模型布局的元素的上方。另外设置了relative之后,元素便具有了完整的盒模型,即便是内联元素,设置高度、上下补白,上下边界也变得有效了,并且这些设置将体现在其在文档流中所占据的空间上。流动模型流动(Flow)是默认的网页布局模式。任何没有具体定义position:absolute?或position:fixed?属性,以及没有被定义浮动float:left?或float:right?的元素都将默认呈现流动布局模式。流动布局模型具有4个比较典型的特征:1、块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置,不管这个元素所包含的内容有多少,也不管我们把元素的宽度设置多窄。2、内联元素都会在所处的包含元素内从左到右水平分布显示。有人把这种分布方式称为文本流,文本流源于文本的从左向右自然流动,本质上它与HTTP传输方式和浏览器的解析机制密切相关。超出一行后,会自动从上而下换行显示,然后继续从左到右按顺序流动,以此类推。当然,读者可以利用CSS文本属性强制改变文本流动方向。3、相邻的两块状元素或嵌套的块状元素如果定义了上下外边距会发生重叠,重叠的结果是两者之中的最大值。针对嵌套的重叠现象,可以通过定义父元素的overflow属性值为“auto”来阻止这种重叠。4、浮动元素不会发生外边距重叠,而浮动与块状元素接触时,通过后出现的元素来决定是否重叠。从编程的角度讲,修改已经构建好的dom树,倒不如通过决定下一个元素如何显示来的效率要高。如果浮动元素是块状元素的父元素,根据上边的规则是应该重叠的,但是浮动元素会自动计算内部的高度宽度,所以结果外边距不会发生重叠。浮动模型浮动是完全不同于流动的另一种布局模型,它遵循浮动规则,但仍能看到流动对它的潜在影响。任何元素在默认情况下是不能够浮动的,但都可以用CSS定义为浮动,如div、list、p、table,以及img等元素都可以被定义为浮动,事实上即使是如span、strong等这样的内联元素也可以被定义为浮动。浮动布局模型具有下面几个特征:1、任何定义为float的元素都会自动被设置为块状显示。这样就具有了完整的盒模型。2、如果当我们没有指定浮动元素的宽度时,浮动元素会自动收缩到能够包含内容的宽度。3、浮动模型不会与流动模型发生冲突。当元素定义为浮动布局时,浮动元素不会脱离正常文档流而任意的浮动,它的上边线将与未被声明为浮动时的位置一样。但是在水平方向上,它的浮向边会尽可能地靠近包含它的元素的边缘(这个边缘是指包含元素补白的内边沿)。4、与普通元素一样,浮动元素始终位于包含元素内,不会游离于外,或破坏元素包含关系,这与层布局模型不同。5、关于流动元素环绕问题。虽然浮动元素能够随文档流动,但浮动模型与流动模型依然存在本质区别。浮动元素的后面的内联元素都能够以流的形式环绕浮动元素左右,甚至与上面的文本流连成一体。而块状元素则不同,它会忽视所有浮动元素所占据的空间,好像这个浮动元素根本就不存在,依这种方式确定自己在流动模型中的位置。6、关于浮动元素间并列显示问题。当两个或者两个以上的相邻元素都被定义为浮动显示时,如果存在足够的空间容纳它们,浮动元素之间可以并列显示。它们的上边线是在同一水平线上的。如果没有足够的空间,那么后面的浮动元素将会下移到能够容纳它的地方,这个向下移动的元素有可能产生一个单独的浮动。很多设计师喜欢使用浮动模型来布局网页,原因就在于它能够突破流动模型布局中块状元素不能并列显示的问题。7、浮动元素在浮动时会尽可能靠近上一个浮动素,进而把其它非浮动元素挤在一边。如果挤不动(如:块状元素,或者没有足够的空间在同一行显示内联元素和这个浮动元素)其他元素它就换行并紧邻着显示在上个元素之后。8、总结:浮动元素仍然处于文档流之中,以文档流元素为自己定位,但是它不占用文档流的空间。浮动清除只有块状元素可以定义清除属性,对内联元素定义清除无效。一个块状元素设置clear:both后,会保证当其被解析时左右不会出现浮动元素。但如果它是浮

您可能关注的文档

文档评论(0)

3774384 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档