zoukankan      html  css  js  c++  java
  • css实现三栏布局,两边定宽,中间自适应

    1、利用定位实现

    css代码如下:

    .box{overflow: hidden;height: 100px;margin: 10px 0;}
    .box>div{height: 100%;}
    #box1{position: relative;}
    .left1{position: absolute;top:0;left:0;width: 100px;background: yellow;}
    .main1{background: #09c;margin: 0 100px 0 100px;}
    .right1{position: absolute;top:0;right:0;width: 100px;background: yellow;}

    dom结构如下:

    <div class="box" id="box1">
        <div class="left1">左侧定宽</div>
        <div class="main1">中间自适应</div>
        <div class="right1">右侧定宽</div>
    </div>

    2、利用 display: flex 实现

    css代码如下:

    .box{overflow: hidden;height: 100px;margin: 10px 0;}
    .box>div{height: 100%;}
    #box2{display: flex;display: -webkit-flex;}
    .left2{left:0;width: 100px;background: yellow;}
    .main2{background: #09c;flex:1;}
    .right2{right:0;width: 100px;background: yellow;}

    dom结构如下:

    <div class="box" id="box2">
        <div class="left2">左侧定宽</div>
        <div class="main2">中间自适应</div>
        <div class="right2">右侧定宽</div>
    </div>

    3、利用 float 实现

    css代码如下:

    .box{overflow: hidden;height: 100px;margin: 10px 0;}
    .box>div{height: 100%;}
    .left3{float:left;width: 100px;background: yellow;}
    .right3{float:right;width: 100px;background: yellow;}
    .main3{background: #09c;margin: 0 100px 0 100px;}

    dom结构如下:

    <div class="box" id="box3">
        <div class="left3">左侧定宽</div>
        <div class="right3">右侧定宽</div>
        <div class="main3">中间自适应</div>
    </div>

    实现效果如下图:

    需要注意的是最后一种方法的dom结构是有变化的,浮动元素要写在前面。

    如有表述不准确之处,欢迎指正,欢迎补充,感谢阅读。

  • 相关阅读:
    OAuth 2.0之授权码模式
    Rest和Restful & http
    HTTP1.1协议中文版-RFC2616
    Linux中安装Python2.7
    CvMat、Mat、IplImage之间的转换详解及实例
    ROS Node/Topic/Message/Service的一些问题
    ROS的tf_tree相关
    机器人路径规划(包括行人检测及动态避障总结)(长期更新)
    相关博客链接(长期更新)
    关于视觉里程计以及VI融合的相关研究(长期更新)
  • 原文地址:https://www.cnblogs.com/wangzhenyu666/p/7905093.html
Copyright © 2011-2022 走看看