2015-11-23 4 views
8

Есть ли способ сохранить нижний колонтитул в нижней части страницы, даже если там не так много контента? Я выполнил инструкции на странице Materialize и имел весь свой HTML-код между <header>, <main> и <footer> тегами. Я вообще не применял ни одного моего собственного CSS к нижнему колонтитулу.Материализовать нижний колонтитул, не находящийся внизу страницы

Любая помощь будет оценена по достоинству.

enter image description here

Вот мой HTML:

<body> 
    <header> 
    <nav role="navigation"> 
     <div class="nav-wrapper container"><a id="logo-container" href="/" class="brand-logo">Some Title <i class="material-icons left hide-on-med-and-down">apps</i></a> 
     <ul id="dropdown" class="dropdown-content"> 
      <li><a href="">Register</a></li> 
      <li class="divider"></li> 
      <li><a href="">Sign In</a></li> 
     </ul> 
     <ul class="right hide-on-med-and-down"> 
      <li id="timer-tab"><a href="">Tab 1</a></li> 
      <li id="stats-tab"><a href="">Tab 2</a></li> 
      <li id="graphs-tab"><a href="">Tab 3</a></li> 
      <li><a href="" data-activates="dropdown" class="dropdown-button">Tab 4<i class="material-icons right">arrow_drop_down</i></a></li> 
     </ul> 
     </div> 
    </nav> 
    </header> 

    <main> 
    <div class="container"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing 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.</p> 
    </div> 
    </main> 

    <footer class="page-footer"> 
    <div class="container"> 
     <div class="row"> 
     <div class="col l6 s12"> 
      <h5 class="white-text">Some Title</h5> 
      <p class="grey-text text-lighten-4">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> 
     </div> 
     <div class="col l2 offset-l2 s6"> 
      <h6>About</h6> 
      <ul> 
      <li><a href="" class="grey-text text-lighten-3">Help</a></li> 
      <li><a href="" class="grey-text text-lighten-3">Contact</a></li> 
      <li><a href="" class="grey-text text-lighten-3">Suggestions</a></li> 
      </ul> 
     </div> 
     <div class="col l2 s6"> 
      <h6>Developer</h6> 
      <ul> 
      <li><a href="" class="grey-text text-lighten-3">Source</a></li> 
      <li><a href="" class="grey-text text-lighten-3">Contribute</a></li> 
      <li><a href="" class="grey-text text-lighten-3">API Docs</a></li> 
      </ul> 
     </div> 
     </div> 
    </div> 
    <div class="footer-copyright"> 
     <div class="container">Made by <a href="">Me </a></div> 
    </div> 
    </footer> 

    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
    <script src="/js/materialize.min.js"></script> 
    <script src="/js/bundle.js"></script> 
</body> 
+0

я могу иметь свой CSS? – cweitat

+0

Конечно, но я не очень много CSS. Я просто использую materialize.min.css и [this] (https://gist.github.com/anonymous/5cbb294178956524f309). – saadq

ответ

14

Согласно materializecss: приведенные ниже правила должны быть добавлены в CSS для получения липких колонтитула:

body { 
    display: flex; 
    min-height: 100vh; 
    flex-direction: column; 
} 
main { 
    flex: 1 0 auto; 
} 

Jsfiddle

+1

Не могу поверить, что я пропустил это, спасибо большое! – saadq

+0

@meh_programmer Добро пожаловать. Удачи. – Alex

+1

Скрипка помогла. Мои проблемы заключались в использовании

внутри контейнера, а нижний колонтитул внутри основного. – George

8

Просто чтобы добавить, Alex ответ отлично работает, так как у вас есть эта структура:

<body> 
<!-- Header content --> 
<main>Page Content</main> 
<!-- Footer content --> 
</body> 
1

Просто добавьте этот стиль: положение: фиксированный; снизу: 0; левый: 0, ширина: 100%; в нижнем колонтитуле.

Например:

<footer class="page-footer" style="position:fixed;bottom:0;left:0;width:100%;"> 
    ... 
</footer> 
+0

Я бы порекомендовал ответ Алекса кому-то, используя Materialize CSS, в отличие от фиксированного позиционирования. В очень коротких видовых экранах подход фиксированной позиции может полностью затенять ваш контент. Используя контейнер flex, высота нижнего колонтитула учитывается на общей высоте страницы и удерживает ее ниже содержимого. –

Смежные вопросы