美文网首页
经典布局---两边固定中间自适应

经典布局---两边固定中间自适应

作者: 苏晓枫 | 来源:发表于2018-11-04 00:23 被阅读0次

    方法一:左右使用浮动,中间设置margin-left和margin-right
    这种方式很简单,就是让左边的左浮动,右边的右浮动,然后通过设置中间的margin将内容从两边拉回来。

    实例效果图.png

    代码如下:

    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
        * {
          padding: 0;
          margin: 0;
        }
        #wrapper{
          min-width: 700px;
        }
        #left {
          width: 150px;
          height: 400px;
          background: green;
          float: left;
        }
        #right {
          width: 200px;
          height: 400px;
          background: red;
          float: right;
        }
        #center {
          background: pink;
          margin-left: 150px;
          height: 400px;
          margin-right: 200px;
        }
      </style>
    </head>
    <body>
      <div id="wrapper">
        <div id="left">我是左边</div>
        <div id="right">我是右边</div>
        <div id="center">我是中间</div>
      </div>
    </body>
    </html>
    

    方法二

    1. 在container中,我们将middle放在left和right的前面。

    2. 将三个都加上float: left, 再相对定位,因为在后面需要为左右两块区域重新定位。

    3. middle部分 width:100%占满

    4. 此时middle占满了,所以要把left拉到最左边,使用margin-left:-100%

    5. 这时left拉回来了,但会覆盖middle内容的左端,要把middle内容拉出来,所以在外围container加上 padding:0 220px 0 200px

    6. middle内容拉回来了,但left也跟着过来了,所以要还原,就对left使用相对定位 left:-200px 同理,right也要相对定位还原 right:-220px

    7. 到这里大概就自适应好了。如果想container高度保持一致可以给left middle right都加上min-height:130px

    2018-11-04_002152.png

    贴出代码

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
        body {
          min-width: 700px;
        }
        #container {
          background: red;
          padding: 0 220px 0 200px;
          height:400px;
        }
        #middle,
        #left,
        #right {
          float: left;
          position: relative;
          min-height: 400px;
        }
        #middle {
          width: 100%;
          background: yellow;
        }
        #left {
          width: 200px;
          background: green;
          margin-left: -100%;
          left: -200px;
        }
        #right {
          width: 220px;
          background: blue;
          margin-left: -220px;
          right: -220px;
        }
      </style>
    </head>
    <body>
      <div id="container">
        <div id="middle">我是middle</div>
        <div id="left">我是left</div>
        <div id="right">我是right</div>
      </div>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:经典布局---两边固定中间自适应

          本文链接:https://www.haomeiwen.com/subject/dhqlxqtx.html