css布局之左侧固定右侧自适应布局

简介:

 1.固定高度


 
 
  1. <!DOCTYPE HTML> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
  5. <title>左侧固定+右侧栏自适应宽度</title> 
  6. <style type="text/css"> 
  7.     margin:0; 
  8.     padding:0; 
  9. #mainBody 
  10.  
  11.     margin:0 auto; 
  12.     border:1px solid #ccc; 
  13.     padding:5px; 
  14. #leftCol 
  15.     width:120px; 
  16.     height:400px; 
  17.     border:1px solid #ccc; 
  18.     background-color:#f0f0f0; 
  19.     position:absolute; 
  20. #rightCol 
  21.     border:1px solid #ccc; 
  22.     background-color:#f0ffff; 
  23.     height:400px; 
  24.     margin-left:127px; 
  25. </style> 
  26. </head> 
  27.  
  28. <body> 
  29.     <div id="mainBody"> 
  30.         <div id="leftCol"> 
  31.         </div> 
  32.         <div id="rightCol"> 
  33.         </div> 
  34.     </div> 
  35. </body> 
  36. </html> 

截图:

 

这里只截了IE6的。

注:如果布局元素不是body子级,加个position:relative;即可。

 

除了使用定位以外,用浮动float:left也可以,原理都是脱离文档流,把控件留给其他元素。

 

 

但是有个问题, 由于absolute使得外面容器的高度取决于那个自适应的元素,比如我把高度改为300px看一下。

 

2.我们来拿float:left;这个方案讨论一下

我们知道对于浮动元素,脱离文档流,父元素捕捉不到其高度height,所以如果float的那个元素比较高,势必超出容器的边界。

我们思考,如果富容器也是float,是不是就可以摆脱这种现状,但是如果无限制的float,势必需要顶层做个清理。

所以我们采用多套一层float容器的方式实现:

我们上代码:

 


 
 
  1. <!DOCTYPE HTML> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
  5. <title>左侧固定+右侧栏自适应宽度</title> 
  6. <style type="text/css"> 
  7.     margin:0; 
  8.     padding:0; 
  9. body 
  10.     padding:10px; 
  11. #mainBody 
  12.     width0:950px; 
  13.     margin:0 auto; 
  14.     border:1px solid #ccc; 
  15.     padding:5px; 
  16.     position0::relative; 
  17.     overflow:hidden; 
  18.     height:1%; 
  19. #layoutContainer 
  20.     float:left; 
  21.     width:100%;  
  22. #leftCol 
  23.     width:120px; 
  24.     height:200px; 
  25.     border:1px solid #ccc; 
  26.     background-color:#f0f0f0; 
  27.     float:left; 
  28. #rightCol 
  29.     border:1px solid #ccc; 
  30.     background-color:#f0ffff; 
  31.     height:300px; 
  32.     margin-left:127px; 
  33. </style> 
  34. </head> 
  35.  
  36. <body> 
  37.     <div id="mainBody"> 
  38.         <div id="layoutContainer"> 
  39.             <div id="leftCol"> 
  40.             </div> 
  41.             <div id="rightCol"> 
  42.             </div> 
  43.         </div> 
  44.     </div> 
  45. </body> 
  46. </html> 

上图:

 

 

注:解决可能的ie莫名白条问题。

对ie自适应列单独设定:

*margin-left:5px;/*两列之间的间距*/ *float:left;







 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/525082,如需转载请自行联系原作者

相关文章
|
1月前
|
前端开发 JavaScript 容器
CSS 实战录: 双栏、四等分、不等间距、自适应...
CSS 实战录: 双栏、四等分、不等间距、自适应...
80 0
|
23天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
23天前
|
前端开发
css页面顶部底部固定,中间自适应几种方法
【10月更文挑战第22天】css页面顶部底部固定,中间自适应几种方法
|
16天前
|
前端开发 容器
实现CSS品字布局
【10月更文挑战第27天】
|
1月前
|
前端开发 容器
使用 CSS Grid 布局实现响应式设计
【10月更文挑战第1天】使用 CSS Grid 布局实现响应式设计
49 4
|
1月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
6月前
|
Web App开发 XML 前端开发
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
76 0
|
前端开发
网站开发之DIV+CSS简单布局网站入门篇(五)
这篇文章主要介绍如何使用DIV和CSS简单布局一个网站的首页,通常将网站划分为顶部(Logo、导航条)、中部(页面主要内容、左右栏目)、底部(制作方介绍、超链接)。这是非常基础的一篇引入性文章,采用案例的方式进行介绍的,希望对你有所帮助。运行结果如下图所示:main.html主页面代码:主要通过di
3625 0