固定右栏宽度, 左栏内容先出现同时自适应宽度的布局

2022-04-15 0 1,143

工作原理

#wrapper必须触发hasLayout,不然有时里面的内容会浮得怪怪的,我直接用float的,可以用其他方式。其实如果只是要做到这个例子要的效果连#wrapper都可以不要。
#left定义100%宽度并利用margin:0 0 0 -200px把左边整块放在偏移入左边200px处,再利用#innerLeft的margin:0 0 0 200px再把内容撑出来,
#right只是简单的浮动,#innerRight米多大作用,只是习惯性保留着,除了可以让我们的控制更简单点,还可以为下次改变布局可保持结构不变。

除了可以固定右边也可以固定左边,有空的朋友可以尝试一下

存在问题

  • IE7以下版本的IE浏览器无min-width,拉太小会很难看。下篇文章再解决

扩展功能

  • 如果想左右两列等高可以参考这个:解决列高度自适应(列高度相同)的五种方法
  • 也可以玩:固定中栏宽度, 左右两栏宽度相等和自适应
  • 还可以扩展这样的功能:最小高度100%,页脚保持在底部的布局方法

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <title>固定右栏宽度, 左栏内容先出现同时自适应宽度的布局 – Beautiful Style &laquo; 样式之美 &raquo; loaoao.com </title> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <meta name=”KEYWords” content=”fixed,css,xhtml,effect” /> <meta name=”DEscription” content=”固定右栏宽度, 左栏内容先出现同时自适应宽度 ” /> <meta name=”author” content=”aoao” /> <meta content=”all” name=”robots” /> <link rel=”start” href=”http://www.loaoao.com” title=”Home” /> <style type=”text/css”> body{ font-family:Verdana, Arial, Helvetica, sans-serif; min-width:620px; margin:0; padding:0; } #wrapper{ float:left; display:inline; margin:0 30px; background-color:#ccc; } #header,#footer{ clear:both; padding:10px; text-align:center; } #left{ float:left; width:100%; margin:0 0 0 -200px; } #innerLeft{ margin:0 0 0 200px; background-color:#efefef; } #right{ float:left; width:200px; background-color:#ddd; } .inner { padding:2px 12px; } p{ line-height:1.6em} </style> </head> <body> <div id=”wrapper”> <div id=”header”> <h1>固定右栏宽度, 左栏内容先出现同时自适应宽度的布局</h1> </div> <div id=”left”> <div id=”innerLeft” class=”inner”> <h2>工作原理</h2> <p>#wrapper必须触发hasLayout,不然有时里面的内容会浮得怪怪的,我直接用float的,可以用其他方式。其实如果只是要做到这个例子要的效果连#wrapper都可以不要。 #left定义100%宽度并利用margin:0 0 0 -200px把左边整块放在偏移入左边200px处,再利用#innerLeft的margin:0 0 0 200px再把内容撑出来, #right只是简单的浮动,#innerRight米多大作用,只是习惯性保留着,除了可以让我们的控制更简单点,还可以为下次改变布局可保持结构不变。</p> <p>除了可以固定右边也可以固定左边,有空的朋友可以尝试一下</p> <h2>存在问题</h2> <ul> <li>IE7以下版本的IE浏览器无min-width,拉太小会很难看。下篇文章再解决</li> </ul> <h2>扩展功能</h2> <ul> <li>如果想左右两列等高可以参考这个:<a href=”http://www.forest53.com/tutorials/tutorials_show.asp?sortid=1&id=45″>解决列高度自适应(列高度相同)的五种方法</a> </li> <li> 也可以玩:<a href=”http://lab.loaoao.com/demo/layout/fixedmiddle/”>固定中栏宽度, 左右两栏宽度相等和自适应</a> </li> <li>还可以扩展这样的功能:<a href=”http://my.opera.com/tifa/blog/show.dml/251210″>最小高度100%,页脚保持在底部的布局方法</a></li> </ul> </div> </div> <div id=”right”> <div id=”innerRight” class=”inner”> <p>这只是个简单的例子,希望对初学CSS布局的朋友有帮助。</p> <p>基本还有很多功能可以写进来,怕写得太乱了,还是等下一篇,好骗点流量。</p> </div> </div> <div id=”footer”> <p>Copyright &copy; 2006 <a href=”http://www.loaoao.com/”>aoao</a> , <a href=”http://www.creativecommons.cn/licenses/by-nc/2.5/” >Some Rights Reserved</a> .</p> </div> </div> </body> </html>

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 CSS/HTML 固定右栏宽度, 左栏内容先出现同时自适应宽度的布局 https://www.niceym.com/16560.html