特点是中间栏和父容器设置了最大和最小宽度,另外左右栏随屏幕固定,但其左和右属性继承父容器,上和下属性相对于浏览器显示区的上下。左栏设置超出高度时出现上下滚动条,宽度固定,不出现左右滚动条。
使用了一点jQuery,因为position:fixed会破坏父容器相对布局,虽然left可以继承,但right不能继承。
代码:
- <script language="javascript">
- $(document).ready(function(){
- var rightFix = ($(window).width()-$("div#topic-c").width())/2;
- $("div#topic-right").css("right",rightFix+"px");
- });
- </script>
- @charset "utf-8";
- /* CSS Document */
- body{}
- #topic-c{
- max-width:1500px;
- min-width:960px;
- margin:0 auto 20px auto;
- border:1px solid #33C;
- overflow:auto;
- }
- #topic-left{
- width:240px;
- float:left;
- border:1px solid red;
- position:fixed;
- top:0;
- left:inherit;
- bottom:20px;
- overflow:auto;
- }
- #topic-left ul{list-style:none;margin:0;padding:0;}
- #topic-left ul li{
- width:200px;
- word-wrap:break-word;
- display:block;
- border:1px solid #09C;
- margin:5px 0 0 10px;
- }
- #topic-left a{
- text-decoration:none;
- display:block;
- }
- #topic-center{
- max-width:960px;
- min-width:440px;
- border:1px solid #0F0;
- margin:0 250px;
- }
- #topic-right{
- width:240px;
- float:right;
- border:1px solid #00F;
- position:fixed;
- top:0;
- right:0;
- bottom:20px;
- }
- #footer{margin-top:-20px;}
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>主题test</title>
- <link href="style/topic.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript" src="style/jquery-1.4.4.min.js"></script>
- <script language="javascript">
- $(document).ready(function(){
- var rightFix = ($(window).width()-$("div#topic-c").width())/2;
- $("div#topic-right").css("right",rightFix+"px");
- });
- </script>
- <style type="text/css">
- body{width:auto;}
- </style>
- </head>
- <body>
- <div id="topic-c">
- <div id="topic-left">
- <p>左栏:目录<br />
- 随屏幕固定<br />
- 固定宽度
- </p>
- <ul>
- <li><a href="#">超长的标题里面含有deagdgrtryiskety令人崩溃了我想坑爹</a></li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- <li>aaa</li>
- </ul>
- </div>
- <div id="topic-right">
- <p>右栏:全站导航、widget<br />
- 随屏幕固定<br />
- 固定宽度
- </p>
- </div>
- <div id="topic-center">
- <p>中间栏:内容<br />
- 自适应宽度
- </p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- <p>aaa</p>
- </div>
- <div class="clear"></div>
- </div>
- <div id="footer">
- copyright 2013 pockry@<a href="http://idlelife.org" target="_blank">idlelife.org</a> All rights reserved.[powered]
- </div>
- </body>
- </html>
源码见下。
转载于:https://blog.51cto.com/pockry/1117130