美文网首页让前端飞Web前端之路前端css内容
CSS: 实现两栏布局,左边固定,右边自适应的4种方法

CSS: 实现两栏布局,左边固定,右边自适应的4种方法

作者: 三木成森_yyy | 来源:发表于2020-03-02 17:24 被阅读0次
1. float+overflow:hidden

这种办法主要通过 overflow 触发 BFC,而 BFC 不会重叠浮动元素。由于设置 overflow:hidden 并不会触发 IE6-浏览器的 haslayout 属性,所以需要设置 zoom:1 来兼容 IE6-浏览器。具体代码如下:

<!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>
    .parent {
      margin: 0 auto; // 使父容器水平居中显示
      overflow: hidden;
      zoom: 1;
      max-width: 1000px;
    }
    .left {
      float: left;
      margin-right: 20px;
      width: 200px;
      background-color: green;
    }

    .right {
      overflow: hidden;
      zoom: 1;
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div class="parent"> 
    <div class="left"> 
    <p>left left left left</p> 
    </div> 
    <div class="right"> 
    <p>right</p> 
    <p>right</p> 
    </div> 
  </div> 
</body>
</html>
2. float: left+ margin-left

float使左边的元素脱离文档流,右边的元素可以和左边的元素显示在同一行,设置margin-left让右边的元素不覆盖掉左边的元素, 代码如下:

<!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>
    .parent {
      margin: 0 auto;
      max-width: 1000px;
    }
    .parent::after {
      content: '';
      display: table;
      clear: both;
    }
    .left {
      float: left;
      width: 200px;
      background-color: green;
    }

    .right {
      margin-left: 200px;
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div class="parent"> 
    <div class="left"> 
    <p>left left left left</p> 
    </div> 
    <div class="right"> 
    <p>right</p> 
    <p>right</p>
    <p>right</p> 
    </div> 
   </div> 
</body>
</html>
3. position: absolute + margin-left

左边绝对定位,右边设置margin-left,代码如下:

<!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>
    .parent {
      position: relative;
      margin: 0 auto;
      max-width: 1000px;
    }

    .left {
      position: absolute;
      width: 200px;
      background-color: green;
    }

    .right {
      margin-left: 200px;
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div class="parent"> 
    <div class="left"> 
    <p>left left left left</p> 
    </div> 
    <div class="right"> 
    <p>right</p> 
    <p>right</p>
    <p>right</p> 
    </div> 
   </div> 
</body>
</html>
4. flex布局

flex布局可以使两个子元素显示在同一行,只要左边的宽度固定,就可以实现效果, 代码如下:

<!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>
    .parent {
      display: flex;
      margin: 0 auto;
      max-width: 1000px;
    }
    .left {
      width: 200px;
      background-color: green;
    }

    .right {
      margin-left: 20px;
      flex: 1;
      background-color: yellow;
    }
  </style>
</head>

<body>
  <div class="parent">
    <div class="left">
      <p>left left left left</p>
    </div>
    <div class="right">
      <p>right</p>
      <p>right</p>
      <p>right</p>
    </div>
  </div>
</body>

</html>

相关文章

  • 我还是要说的布局

    两栏布局 左边固定右边自适应 使用float布局 使用position布局    三栏布局 左右两边固定中间自适应...

  • 两栏&三栏&双飞翼&圣杯

    两栏自适应布局(左边固定,右边自适应) 利用CSS中的calc()方法来动态设定宽度 双float布局 缺点:要清...

  • 布局

    两栏自适应布局(左边固定,右边自适应) 利用CSS中的calc()方法来动态设定宽度 双float布局 缺点:要清...

  • 两栏布局

    两栏布局 左边固定,右边自适应的两栏布局 首先创建基本的HTML布局和最基本的样式。 左边固定宽度,高度不固定 基...

  • 百度前端学院task3笔记

    实现三栏式布局(左右两栏定宽,中间宽度自适应)有多种方法最合适的是 将左边栏与右边栏的css的float属性分别设...

  • css实现左边自适应右边固定

    本文主要使用css实现左边自适应右边固定,右边固定左边自适应的问题。 左边自适应右边固定 1. 主要使用floa...

  • CSS两栏布局(四种方法)

    两栏布局,要求左边固定,右边自适应。 方法1------浮动 思路:左边容器左浮动,宽度固定,右边元素设置marg...

  • 常见布局-左侧固定,右侧自适应两栏布局

    "左边固定,右边自适应的两栏布局",其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与gri...

  • CSS: 实现两栏布局,左边固定,右边自适应的4种方法

    1. float+overflow:hidden 这种办法主要通过 overflow 触发 BFC,而 BFC 不...

  • css常用布局

    css简单布局 1.左右布局 常用左边固定,右边自适应 实现这样的布局,我们可能会有如下方法: 浮动布局 flex...

网友评论

    本文标题:CSS: 实现两栏布局,左边固定,右边自适应的4种方法

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