【问题标题】:Fixed footer under scrollpane in css修复了 CSS 中滚动窗格下的页脚
【发布时间】:2015-08-20 17:31:49
【问题描述】:

上下文

我正在尝试创建一个可以适应任何类型屏幕的页面。此页面包含一个可滚动的部分和一个固定的页脚,始终可见。我正在使用 vh(视口高度),以便页面永远不会滚动,只有可滚动容器内的内容。


问题

我似乎无法让页脚在每个屏幕宽度和高度上完美对齐(大屏幕到手机)。这是我已经尝试过的codepen

我不明白为什么我的页脚的width: inherit 没有占用survey-container 的宽度。而且似乎在 vh(可滚动容器)中使用 height 和在 vh(页脚)中使用 top 不是要走的路,但我不知道如何定位它们,例如 page 从不滚动(仅容器)。


代码

HTML

<div class="container">
  <div class="row">
    <div class="well survey">

      <div class="survey-container">

        <h3 class="text-center">Survey</h3>

        <p class="homepage-text text-center">

          Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned brisket
          prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
          <br>
          <br> Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned
          brisket prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
          <br>
          <br> Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned
          brisket prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
          <br>
          <br> Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned
          brisket prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
          <br>
          <br> Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned
          brisket prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
          <br>
          <br> Ribs ribs corned strip hamburger landjaeger strip ribs round chuck pancetta cupim steak. Beef jowl boudin swine bacon kielbasa shank drumstick shank doner steak porchetta kielbasa frankfurter. Mignon drumstick drumstick hamburger pancetta corned
          brisket prosciutto shank ribs loin hamburger. Sausage turkey swine flank ribs corned round hock flank picanha kielbasa chuck rump turkey.
        </p>
      </div>

      <div class="homepage-footer col-sm-12">
        <div class="col-sm-3">
          Footer
        </div>
        <div class="col-sm-9">
          <p class="footer-description">
            Affogato saucer arabica Affogato irish lait cultivar acerbic strong blue mocha mazagran sweet frappuccino. Qui decaffeinated flavour galão Shop beans rich Dark to plunger qui trifecta cup sugar. Dripper ristretto redeye wings pot organic spice frappuccino
            cream cup barista Dark pumpkin. Aroma mazagran roast spoon shop flavour Variety Variety spoon robust spoon lait origin. Aftertaste robust single doppio Affogato milk aftertaste percolator Frappuccino siphon macchiato macchiato carajillo.
          </p>
        </div>
      </div>
    </div>
  </div>
</div>

CSS

body {
    font-size: 16px;
    background-color: #ddd;
}

.well.survey {
    background: #FFF;
    padding: 0 0 50px 0;
    margin-bottom: 0;
    margin-top: 50px;
    color: #8591A0;
    height:71vh;
    overflow: auto;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.survey-container {
    margin: 0 100px;
    padding-top: 30px;
}

@media (max-width: 768px) {
    .survey-container {
        margin: 0 50px;
    }
}

.homepage-footer {
    background-color: #303A40;
    padding: 20px 30px 20px 30px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    -webkit-transform: translate3d(0, 0, 0);
    position: absolute;
    top: 80vh;
    width: inherit;
}

.homepage-footer p {
    color: #fff;
}

.footer-description {
    font-size: 12px;
    text-align: justify;
}

【问题讨论】:

    标签: html css


    【解决方案1】:

    您的页脚宽度大于survey-container,因为它有一个position: absolute。这意味着它采用position: absoluteposition: relative 最接近父级的宽度。

    要解决此问题,请将您的 .row 类设为 position: relative

    (请注意 top: 80vh 也相对于您的 .row 类,而不是文档的顶部)

    【讨论】:

    • 很好,位置:相对。 on .row 固定宽度!谢谢 :) 关于高度定位的任何想法?窗口越高,页脚和容器之间的空间就越大...
    • 那是因为.well.surveyheight:71vh 而你的页脚是top: 80vh。这意味着存在9vh 差异。 “vh”表示它取决于视口的高度,这意味着如果窗口更大,9vh 会更大。为了解决这个问题,你可以让你的页脚top:71vh 并添加一个固定的margin-top: 60px。那 60px 不依赖于视口高度
    【解决方案2】:

    你能不能用这种方式调整你的脚本,这只是给你的一个指南,而不是这样认为,这适用于几乎所有的屏幕、浏览器,这包括可怕的 IE 6 也是!

    您应该查看footer CSS。在你想保留它的地方,把它放在父级中,并将position: relative 添加到父级。

    * {font-family: 'Segoe UI'; margin: 0; padding: 0; list-style: none;}
    body {padding: 0 0 40px;}
    p {margin: 0 0 5px; text-align: justify;}
    footer {height: 35px; line-height: 35px; position: fixed; bottom: 0; text-align: center; width: 100%; background-color: #ccf;}
    <p>This is a fluid body content.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio, itaque dolores sunt quo facilis doloremque quidem minima. Nesciunt adipisci ex consectetur! Magnam, illo qui voluptas placeat quos expedita nulla!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus in illo corrupti quos hic ipsam eaque eligendi assumenda itaque numquam ullam, praesentium cumque perferendis officia, veniam totam! Quasi ab, necessitatibus.</p>
    <footer>Footer Here</footer>

    【讨论】:

    • .survey-container相比,我的代码中的问题是页脚的边距和位置
    猜你喜欢
    • 2012-06-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2023-03-11
    • 2016-06-26
    相关资源
    最近更新 更多