精通CSS关于布局的笔记


粗略的看了一些章节,纪录了一些之前写布局时候不大注意的小地方。

  • 两列布局或者延伸到各多列布局时的注意点
  • 使用faux列实现等列布局
  • 使用CSS3 column-count实现文本等列布局

两列布局

1.使用浮动布局时,使两列分别左浮动和右浮动,中间建立隔离带(留有一些空间),避免元素同时左浮动或者右浮动,否则在IE的低版本中,会出现因为当元素内容增大时,整个元素拓展,没有足够的空间让元素并排出现,某个元素会退到下一行。
2.在所有浮动元素中设置display:inline,防止IE的双外边距浮动产生的bug。
3.浮动时两个内容块已经脱离文档流,需对其父元素清楚浮动,对父元素设置overflow:hidden. 引申:那些年我们清除过的浮动

固定宽度布局:

无论窗口的尺寸大小,页面的固定宽带不变。当窗口大小改变时,对文字以及布局的彼影响较大,不建议使用。

流式布局

通过百分数随着窗口的大小去改变宽度。
缺点:在大分辨率显示器上,行仍然会过长,在小窗口中,行会特别短,内容零碎。

弹性布局:

以字号来设置元素的宽度,确保在字号较大时也随着布局增大。
浏览器的默认字体大小一般为16px,相对px去设置rem,不建议使用em,em相对于父元素,ren相对于根元素,更方便。
建议:
内部宽度仍然适用百分数,以rem为单位设置容器的宽度。

等列布局:

1.利用faux列设置垂直重复的背景图片

1
background: url('') repeat-y left top;

举例:fauz列 背景平铺设置
2.利用CSS3的column-count(文本分列数)、column-width,column-gap(文本列间隔)、 column-rule(列之间的宽度、样式和颜色规则)设置等高文本列.

举例:css3 column-count 文本分列