前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python测试开发django-134.CSS页面布局:左侧固定,右侧自适应布局

python测试开发django-134.CSS页面布局:左侧固定,右侧自适应布局

作者头像
上海-悠悠
发布2021-10-08 11:25:23
9410
发布2021-10-08 11:25:23
举报
文章被收录于专栏:从零开始学自动化测试

前言

常见的后台管理页面,左侧固定宽度展示操作菜单栏,右侧显示左侧展示管理内容。 这是一种最常见的左侧固定,右侧自适应布局方式。

左侧固定,右侧自适应布局

在container1里面写2个div

代码语言:javascript
复制
<body>
<div class="container1">
    <div class="left">
        <p>左侧菜单栏1</p>
        <p>操作项1</p>
        <p>操作项2</p>
        <p>左侧菜单栏2</p>
        <p>操作项1</p>
        <p>操作项2</p>
    </div>
    <div class="right">
        <p>这是右边展示内容,右边展示内容,右边展示内容,右边展示内容,写正文看看</p>
    </div>
</div>
</body>

让2个div元素一左一右显示,实现方式,左边的div设置float,右边设置overflow:hidden

代码语言:javascript
复制
   <style>
        .container1{
            padding: 10px;
            border: 1px solid #d43f3a;
        }
        .left{
            background: green;
            float: left;
            width: 200px;
            margin-right: 10px;
            border: 1px solid #d412ce;

        }
        .right{
            background: orange;
            border: 1px solid #d412ce;
            overflow: hidden;  /*右边盒子overflow:hidden触发bfc*/
        }
    </style>

页面效果

如果左边float高度超出,会出现上面的情况,下面有2种方法清除浮动

清除浮动(伪元素)

第一种解决办法,可以在子元素这一层,加一个空的div层:<div style="clear:both"></div>

代码语言:javascript
复制
<div class="container1">
    <div class="left">
        <p>左侧菜单栏1</p>
    </div>
    <div class="right">
        <p>这是右边展示内容,右边展示内容,右边展示内容,右边展示内容,写正文看看</p>
    </div>
    <div style="clear:both"></div>
</div>

但一般不推荐这样做,需要多维护一个div元素。优化方法可以使用css 给元素后面加一个伪元素:after

代码语言:javascript
复制
    <style>
        .container1{
            padding: 10px;
            border: 1px solid #d43f3a;
        }
        .left{
            background: green;
            float: left;
            width: 200px;
            margin-right: 10px;
            border: 1px solid #d412ce;

        }
        .right{
            background: orange;
            border: 1px solid #d412ce;
            overflow: hidden;  /*右边盒子overflow:hidden触发bfc*/
        }
                /*清除浮动*/
        .container1:after{
            content: "";
            height: 0;
            line-height: 0;
            display: block;
            visibility: hidden;
            clear: both;
        }
    </style>

实现效果:左边宽度固定,右边自适应

清除浮动(overflow: hidden)

第2种解决方法更优雅一点,也是代码量最少的,可以在上一层container1这里加一个overflow: hidden (添加zoom: 1;可以解决Ie浏览器适配问题)

代码语言:javascript
复制
    <style>
        .container1{
            padding: 10px;
            border: 1px solid #d43f3a;
            overflow: hidden;
            zoom: 1;
        }
        .left{
            background: green;
            float: left;
            width: 200px;
            margin-right: 10px;
            border: 1px solid #d412ce;

        }
        .right{
            background: orange;
            border: 1px solid #d412ce;
            zoom: 1;
            overflow: hidden;  /*右边盒子overflow:hidden触发bfc*/
        }
    </style>

实现效果是一样的

更多页面布局方式参考https://blog.csdn.net/caicai1171523597/article/details/86642535 overflow相关知识点https://blog.csdn.net/qq_41638795/article/details/83304388 CSS 浮动float属性详解https://blog.csdn.net/qq_36595013/article/details/81810219

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 左侧固定,右侧自适应布局
  • 清除浮动(伪元素)
  • 清除浮动(overflow: hidden)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档