CSS两列布局的多种方式

html-css019

CSS两列布局的多种方式,第1张

两列布局(一侧固定宽度,一侧自适应),在工作中应该是经常使用到,可以说是前端基础了。这种两列布局的样式是我们在平时工作中非常常见的设计,同时也是面试中要求实现的高频题。很有必要掌握以备不时之需。这里总结了几种布局方式,欢迎大家补充。

修改 css 就可实现 位置调换 ,如下:

优点 : 交换 <div class="sidebar">固定</div> 、 <div class="main">自适应</div>顺序 ,实现主要内容优先加载渲染。

缺点 :absolute 定位,脱离文档流,当 sidebar 列的高度,超过 main 列的高度,会遮住下面的元素。需要给父盒子设置 overflow 属性。

也支持位置调换:

缺点 :不能实现主要内容优先加载渲染。

位置调换:

这里有一点需要注意: .sidebar 没有设置高度,会和 .container 保持一样的高度。 .container 的高度是被 .main 撑开的,也就是和 .main 高度一样。

位置调换:

这里 .main 和 .sidebar 高度不单独设置的话,也是同样的高度。

位置调换:

位置调换:

这里让 .main 成为 BFC 主要是消除 .sidebar 因 float 带来的影响,只要能让 .main 成为 BFC 就行。

此外留给大家一个思考题,还有没有其他方式呢?

写第二列的宽度等于table的宽度减去第一列的宽度,需要用js控制获得两个元素的宽,相减后的结果是第二列元素宽度属性的值。但是这样做很麻烦。

建议你把图片和文字分别放在两个span标签里,这样就可以不用定义宽度了

接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习”,在文件夹下新建两个空的记事本文档,输入以下内容: 无标题文档 这是XHTML的基本结构,将其命名为index.htm,另一个记事本文档则命名为css.css。 下面,我们在标签对中写入DIV的基本结构,代码如下: [color=#aaaaaa][/color] [color=#aaaaaa][/color] [color=#aaaaaa][/color] [color=#aaaaaa][/color] [color=#aaaaaa][/color] [color=#aaaaaa][/color] 为了使以后阅读代码更简易,我们应该添加相关注释,接下来打开css.css文件,写入CSS信息,代码如下: /*基本信息*/ body {font:12px Tahomamargin:0pxtext-align:centerbackground:#FFF} /*页面层容器*/ #container {width:100%} /*页面头部*/ #Header {width:800pxmargin:0 autoheight:100pxbackground:#FFCC99} /*页面主体*/ #PageBody {width:800pxmargin:0 autoheight:400pxbackground:#CCFF00} /*页面底部*/ #Footer {width:800pxmargin:0 autoheight:50pxbackground:#00FFFF} 把以上文件保存,用浏览器打开,这时我们已经可以看到基础结构了,这个就是页面的框架了。 关于以上CSS的说明(详细请参考CSS2.0中文手册,网上有下载): 1、请养成良好的注释习惯,这是非常重要的; 2、body是一个HTML元素,页面中所有的内容都应该写在这标签对之内,我就不多说了; 3、讲解一些常用的CSS代码的含义: font:12px Tahoma; 这里使用了缩写,完整的代码应该是:font-size:12pxfont-family:Tahoma;说明字体为12像素大小,字体为Tahoma格式; margin:0px; 也使用了缩写,完整的应该是: margin-top:0pxmargi