javascript - css如何实现两栏布局,左边固定宽度,右边宽度自适应,且高度和浏览器当前高度一致
怪我咯
怪我咯 2017-04-11 12:23:36
[JavaScript讨论组]

无论浏览器宽度怎么改变,都保证左边这个p宽度固定为300px,右边宽度随浏览器宽度自适应,且两个p的高度和浏览器当前高度一致

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
ringa_lee
#left {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 300px;
    /* background: blue; *//* 解开此处注释来查看效果 */
}

#right {
    position: fixed;
    left: 300px;
    top: 0;
    height: 100vh;
    width: calc(100vw - 300px); 
    /* 如果浏览器不支持CSS3 calc方法,可以使用js计算宽度 */
    /* background: red; *//* 解开此处注释来查看效果 */
}
ringa_lee
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style> 
body{
    margin:0;
    padding:0;
    height:100%;
}
.left{
    width:300px;
    height:100%;
    background-color:red;
    float: left;
}
.right{
    height:100%;
    float: left;
    background-color:yellow;
}
.box{
    position: absolute;
    height:100%;
    width:100%
}
</style>
<body>
   <p class="box">
       <p class="left">111</p>
       <p class="right">11111</p>
   </p>
</body>
</html> 

这样的话右边宽度会随内容填充来适应,如果可以的话可以考虑用Js控制下

阿神

看了以上几种方法似乎都解决不了啊,或者说是纯CSS方法不行,在有的浏览器下calc(100vw-300px)没有用。我只能用js来替换这一条了,right.style .width = (document.document.clientWidth - 300)+ "px";
希望对你有用!

怪我咯
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        html, body {
            height: 100%;
        }
        .layout {
            height: 100%;
        }
        .layout:before,
        .layout:after {
            content: ' ';
            display: table;
        }
        .layout:after {
            clear: both;
        }
        .layout .left {
            width: 300px;
            height: 100%;
            float: left;
            background-color: #000;
        }
        .layout .right {
            height: 100%;
            overflow: hidden;
            background-color: #ff0000;
        }
    </style>
</head>
<body>
    <p class="layout">
        <p class="left"></p>
        <p class="right"></p>
    </p>
</body>
</html>

利用了BFC

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号