两列宽高自适应

来源:互联网 发布:服务器交换机端口号 编辑:程序博客网 时间:2024/06/01 15:19

两列布局,要求占满整个页面,其中某列固定,另一列宽度自适应,另外要求两列的高度都要根据屏幕自适应,占满整屏。

宽度好整,一列设宽,一列不设宽,只设margin-left或margin-right即可,然后固定宽度的那列position:absolute. 但高度比较麻烦,经测试发现,文档流中的元素设置height:100%无效,即不能拉伸高度以适应屏幕。原因尚且不明,不过先记下,昨天刚刚收到了新买的《CSS权威指南》,希望看完后能有个明确的答案,界时会再来更新。

=============

目前找到的一个解决方案,是将两列都设为position:absolute, 然后分别通过left和right控制它们的宽,通过top和bottom控制它们的高。这里再啰嗦一句:在未显示设置width和height时,对于position:absolute的元素,其right和left的差值就是它的宽,其bottom和top的差值就是它的高。如果同时还设置了width和height,则width和height的优先级大。

最后附上代码(右侧栏固定宽度的效果):

body {backgournd-color: #CCC;}

.main {position: absolute; left: 0; right: 350px; top: 0; bottom: 0; background-color: pink;}

.sidebar {position: absolute; right: 0; top: 0; bottom: 0; width: 350px; background-color: skyblue;}

上面代码中left, right, bottom, top的设置是关键,其中top: 0; bottom: 0; 两句可以替换为height: 100%;

原创粉丝点击