【问题标题】:Position fixed div inside div is not working [duplicate]div内的位置固定div不起作用[重复]
【发布时间】:2020-02-11 02:34:12
【问题描述】:

我有以下 HTML 和 CSS

section {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1147px;
  padding-right: 0;
  padding-left: 0;
}

.first_div {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
}

.first_child_div {
  max-width: calc(60% - 9px);
  width: 100%;
}

.second_child_div {
  max-width: calc(34% - 9px);
  width: 100%;
  position: fixed;
}
<section>
  <div class="first_div">
    <div class="first_child_div">First child</div>
    <div class="second_child_div">Second child</div>
  </div>
</section>

而且模板看起来基本上是这样的。

模板

*已编辑 但是由于某种原因,当我上下滚动时,第二个子 div 仍然跟随页面的流动。但我希望它始终保持在同一个地方,即使页面滚动。有什么我想念的吗?感谢您的帮助。

【问题讨论】:

标签: html css css-position fixed


【解决方案1】:

您应该删除 position: fixed to second div。

【讨论】:

    【解决方案2】:

    检查您的 id 选择器,您使用哈希字符而不是句号。因为您使用的是页面元素类而不是 ID。

    .first_child_div {} .second_child_div {}

    您还使用第二个子 div 样式 position:fixed;尝试将其更改为相对

    【讨论】:

    • 我认为我的解释是错误的。我试图重新提出我的问题。我想要的是第二个子 div 在我滚动时保持在同一个地方。我希望它相对于窗口固定。但是当我使用固定位置时;该元素的行为仍然像它相对于父 div 元素一样。
    【解决方案3】:

    Fixed means:

    元素放置在每个页面上的相同位置。

    也就是说,每当你滚动时,这个元素都会在同一个位置上。

    如果你想让你的元素滚动:

    #second_child_div{
        max-width: calc(34% - 9px);
        width: 100%;
        position: static;
    }
    

    "Position: static" means that:

    元素按照正常流程定位 文件。

    【讨论】:

    • 我认为我的解释是错误的。我试图重新提出我的问题。我想要的是第二个子 div 在我滚动时留在同一个地方。我希望它相对于窗口固定。但是当我使用固定位置时;该元素的行为仍然像它相对于父 div 元素一样。
    【解决方案4】:

    section{
        max-width: 1147px;
        padding-right: 0;
        padding-left: 0;
    }
    
    #first_div{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content:space-between;
         position: relative;
    
      /*Extra style */
        background: #f7f7f7;
        padding: 1rem;
    }
    
    #first_child_div{
        max-width: calc(60% - 9px);
        width: 100%;
      /*Extra style */
        background: #e8e8e8;
    }
    
    #second_child_div{
        max-width: calc(34% - 9px);
        width: 100%;
        position: fixed;
        right: 0;
        top: 1rem;
     /*Extra style */
        background: #e8e8e8;
    }
    <section>
        <div id="first_div">
            <div id="first_child_div">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
            <div id="second_child_div">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
        </div>
    </section>

    【讨论】:

    • 我认为我的解释是错误的。我试图重新提出我的问题。我想要的是第二个子 div 在我滚动时保持在同一个地方。我希望它相对于窗口固定。但是当我使用固定位置时;该元素的行为仍然像它相对于父 div 元素一样。
    • 我更新了我的答案,请检查并让我知道这是否满足您的查询
    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2018-03-26
    相关资源
    最近更新 更多