• 布局-三列布局(定宽+自适应+定宽)


    两侧定宽中间自适应

    方案一:float+margin+(fix)

    结构:

     1 <div class="parent">
     2         <div class="left"><p>left</p></div>
     3         <div class="center-fix">
     4             <div class="center">
     5                 <p>center</p>
     6                 <p>center</p>
     7             </div>
     8         </div>
     9         <div class="right"><p>right</p></div>
    10     </div>

    样式:

     1 p {margin:0;}
     2     .parent {
     3         background-color: grey;
     4          600px;
     5 
     6         overflow: hidden;
     7     }
     8     .right,.left {
     9         position: relative;
    10         float: left;
    11          100px;
    12     }
    13     .center-fix {
    14         float: left;
    15          100%;
    16         margin: 0 -100px;
    17     }
    18     .center {
    19         margin: 0 110px;
    20          background-color: greenyellow;
    21      }
    22      .right {
    23          background-color: skyblue;
    24      }
    25      .left {
    26          background-color: indianred;
    27      }

    方案二:inline-block + margin + (fix)

    结构:

     1 <div class="parent">
     2         <div class="left"><p>left</p></div>
     3         <div class="center-fix">
     4             <div class="center">
     5                 <p>center</p>
     6                 <p>center</p>
     7             </div>
     8         </div>
     9         <div class="right"><p>right</p></div>
    10     </div>

    样式:

     1 p {margin:0;}
     2     .parent {
     3         background-color: grey;
     4          600px;
     5         font-size: 0;/*去掉inline-block元素之间天然的空隙*/
     6     }
     7     .right,.left,.center-fix {
     8         display: inline-block;
     9         font-size: 16px;
    10         vertical-align: top;/*文本定位在顶部*/
    11     }
    12     .right,.left {
    13          100px;
    14         position: relative;
    15     }
    16     .center-fix {
    17          100%;
    18         margin: 0 -100px;
    19     }
    20     .center {
    21         margin: 0 110px;
    22          background-color: greenyellow;
    23      }
    24      .right {
    25          background-color: skyblue;
    26      }
    27      .left {
    28          background-color: indianred;
    29      }

    方案三:table + table-cell

     

    结构:

    1 <div class="parent">
    2         <div class="left"><p>left</p></div>
    3         <div class="center">
    4             <p>center</p>
    5             <p>center</p>
    6         </div>
    7         <div class="right"><p>right</p></div>
    8     </div>

    样式:

     1 p {margin:0;}
     2     .parent {
     3         background-color: grey;
     4          600px;
     5         
     6         display: table;
     7         table-layout: fixed;
     8     }
     9     .right,.left {
    10          100px;
    11         display: table-cell;
    12     }
    13     .center {
    14         display: table-cell;/*没有margin属性*/
    15         border-left: 10px solid transparent;
    16         border-right: 10px solid transparent;
    17         background-origin: padding-box;/*指定背景图片从哪个区域绘制*/
    18         background-clip: padding-box;/*背景图片显示的区域定位*/
    19 
    20          background-color: greenyellow;
    21      }
    22      .right {
    23          background-color: skyblue;
    24      }
    25      .left {
    26          background-color: indianred;
    27      }

    方案四:absolute

    结构:

    1 <div class="parent">
    2         <div class="left"><p>left</p></div>
    3         <div class="center">
    4             <p>center</p>
    5             <p>center</p>
    6         </div>
    7         <div class="right"><p>right</p></div>
    8     </div>

    样式:

     1 p {margin:0;}
     2     .parent {
     3         background-color: grey;
     4          600px;
     5         height: 36px;/*position:absolute的元素是脱离文档流的*/
     6         
     7         position: relative;
     8     }
     9     .right,.left,.center {
    10         position: absolute;
    11     }
    12     .center {
    13         left: 110px;
    14         right: 110px;
    15          background-color: greenyellow;
    16      }
    17      .right {
    18          right: 0;
    19           100px;
    20          background-color: skyblue;
    21      }
    22      .left {
    23          left: 0;
    24           100px;
    25          background-color: indianred;
    26      }

    解决方案五:flex

    结构:

    1 <div class="parent">
    2         <div class="left"><p>left</p></div>
    3         <div class="center">
    4             <p>center</p>
    5             <p>center</p>
    6         </div>
    7         <div class="right"><p>right</p></div>
    8     </div>

    样式:

     1 p {margin:0;}
     2     .parent {
     3         background-color: grey;
     4          600px;
     5 
     6         display: flex;
     7     }
     8     .right,.left {
     9          100px;
    10     }
    11     .center {
    12         flex: 1;/*center获得所有的剩余部分*/
    13         margin: 0 10px;
    14          background-color: greenyellow;
    15      }
    16      .right {
    17          background-color: skyblue;
    18      }
    19      .left {
    20          background-color: indianred;
    21      }
  • 相关阅读:
    英式音标
    音标
    JavaWeb中文件的上传和下载
    SpringMVC简单实例(看起来有用)
    C语言指针的初始化和赋值
    VC++ CopyFile函数使用方法
    未将对象引用设置到对象的实例--可能出现的问题总结
    strip 命令的使用方法
    css3 animation动画事件
    CSS中的几个概念--------Day39
  • 原文地址:https://www.cnblogs.com/Janejxt/p/5883095.html
Copyright © 2020-2023  润新知