账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    左右两列布局,左侧浮动,右侧也有浮动内容,请教这种布局的写法
    37
    0

    问题描述、问题出现的环境背景及自己尝试过哪些方法

    我写出来的实际效果:https://codepen.io/piscdong/p...

    左右两列布局,现在左侧橘黄色是浮动的,右侧上面红色部分里面有若干未知数量的白色浮动div
    现在出现的问题是,右边红色部分,我原来希望能根据里面的内容自适应高度,但是现在好像强制和左侧一样高了
    请问这种情况应该怎么改,谢谢

    相关代码

    html

    <div class="top">
      <div class="left"></div>
      <div class="right">
        <div class="right_1">
          <div class="block"></div>
          <div class="block"></div>
          <div class="block"></div>
          <div class="block"></div>
        </div>
        <div class="right_2"></div>
      </div>
    </div>
    <div class="bottom"></div>

    css

    .top {
      background: #eee;
    }
    .top:after {
      content: '';
      display: block;
      clear: both;
    }
    .left {
      float: left;
      width: 200px;
      height: 200px;
      background: #f90;
    }
    .right {
      margin-left: 210px;
      background: #036;
    }
    .right_1 {
      background: #900;
    }
    .right_1:after {
      content: '';
      display: block;
      clear: both;
    }
    .block {
      float: left;
      width: 100px;
      height: 100px;
      margin: 5px;
      background: #fff;
    }
    .right_2 {
      height: 20px;
      background: #009;
    }
    .bottom {
      background: #ccc;
      height: 20px;
    }

    解决方法

    感谢 @Haiiz 的回答,解决方法如下

    css

    .right {
      float: right;
      width: calc(100% - 210px);
      background: #036;
    }

    实际效果:https://codepen.io/piscdong/p...

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 时间枯萎 普通会员 1楼

      这种布局被称为"float布局",通常是在HTML中使用display属性来实现的。下面是一个简单的例子:

      ```html

      ```

      在这个例子中,我们使用了display属性将左侧的div元素设为浮动,而右侧的div元素设为非浮动。这样,左侧的div元素就会在左侧的父元素中浮动,而右侧的div元素就会在右侧的父元素中浮动。

      需要注意的是,浮动的元素只能有一个父元素,如果尝试将浮动的元素添加到其他元素中,那么这个其他元素就会失去其原来的位置。此外,为了确保浮动元素的正常显示,我们需要给父元素设置一个浮动样式。例如:

      ```css .container { position: relative; overflow: hidden; }

      .left { float: left; }

      .right { float: right; } ```

      在这个例子中,我们给容器设置了一个相对定位,使得其相对于其父元素的topleft属性不发生改变。然后,我们给左边的div元素设置了float: left,这样它就会在容器的左侧浮动。同样,我们给右边的div元素设置了float: right,这样它就会在容器的右侧浮动。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部