悦新君 2022-05-17 00:17 采纳率: 65.4%
浏览 100
已结题

并列的三个flex盒子,设置第一个为固定定位

问题遇到的现象和发生背景

在编辑网页,下面三个盒子是使用flex布局实现左右并列,现在想把第一个盒子设置固定定位, 如何设置呢?

我自己的解决思路是:设置第一个盒子的替身占着原来的位置,然后就可以对真实的第一个盒子进行固定定位了,有没有其他更好的方法呢?

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • ZionHH 2022-05-17 09:28
    关注

    使中间盒子让出左边盒子的宽度就可以了

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
        * {
          margin: 0;
          left: 0;
          box-sizing: border-box;
        }
        .box {
          display: flex;
        }
        .border {
          border: 1px solid #ddd;
        }
        .left {
          flex: 0 0 200px;
          height: 400px;
        }
        .center {
          flex: 1;
          height: 1600px;
        }
        .right {
          flex: 0 0 300px;
          height: 600px;
        }
        /* 吸附下的样式 */
        .stick .left {
          position: fixed;
          top: 0;
          left: 0;
          width: 200px;
        }
        .stick .center {
          margin-left: 200px; /* 让出 left 的宽度 */
        }
      </style>
    </head>
    <body>
      <div class="box">
        <div class="left border">
          left
        </div>
        <div class="center border">
          center
        </div>
        <div class="right border">
          right
        </div>
      </div>
      <script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
      <script>
        $(window).scroll(function() {
          var top = $(document).scrollTop()
          if (top > 50) {
            $('.box').addClass('stick')
          } else {
            $('.box').removeClass('stick')
          }
        })
      </script>
    </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月27日
  • 已采纳回答 5月19日
  • 创建了问题 5月17日

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能