Bootstrap - проблема с шаблоном Cover

458
13 января 2017, 07:38

Столкнулся со странной проблемой, работая с Bootstrap.

Имеется простая страница, состоящая из двух частей:
1. Доработанный стандартный шаблон Cover (http://v4-alpha.getbootstrap.com/examples/cover/)
2. Ниже section и в ней стдартные row, col и т.д.

Между верхней частью (Cover) и секцией ниже есть отступ. По идее - просвечиает body, правда фоновый цвет не белый а серый.

Проблема в том что я не могу изменить этот фоновый цвет body.
CSS для body судя по всему вдияет только на невидимый мне фон позади Cover.
Проверял через консоль: странно - body охватывает всю страницу (и cover и section), но при наведении на body в консоли, на странице выделяется только область Cover, без section и пространства между ними. Если же навести в консоли на section - section на странице выделяетя правильно.

В чем тут может быть дело? Заранее больше спасибо!

UPD

Кажется понял в чем причина: CSS шиблона Cover задает html и body height="100%", в результате чего их высота становится равна размеру окна браузера. Не совсем понимаю, почему в таком случае, фоновый цветbody` изменяется на протяжении всего документа?..

Но главный вопрос - как можно заменить body другим элементом? Так как страница продолжается ниже, body не должно ограничиваться областью Cover. Пробовал заключить Cover в div и задать ему те же CSS что были заданы body, но это не работает.

Вот код (корректней отображается на jsfiddle): https://jsfiddle.net/x3ju0d9w/

/* 
 * Globals 
 */ 
 
/* Links */ 
 
a, 
a:focus, 
a:hover { 
  color: #fff; 
} 
/* Custom default button */ 
 
.btn-secondary, 
.btn-secondary:hover, 
.btn-secondary:focus { 
  color: #333; 
  text-shadow: none; 
  /* Prevent inheritance from `body` */ 
  background-color: #fff; 
  border: .05rem solid #fff; 
} 
/* 
 * Base structure 
 */ 
 
html, 
body { 
  height: 100%; 
  background-color: #333; 
} 
body { 
  color: #fff; 
  text-align: center; 
  text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .5); 
} 
/* Extra markup and styles for table-esque vertical and horizontal centering */ 
 
.site-wrapper { 
  display: table; 
  width: 100%; 
  height: 100%; 
  /* For at least Firefox */ 
  min-height: 100%; 
  -webkit-box-shadow: inset 0 0 5rem rgba(0, 0, 0, .5); 
  box-shadow: inset 0 0 5rem rgba(0, 0, 0, .5); 
} 
.site-wrapper-inner { 
  display: table-cell; 
  vertical-align: top; 
} 
.cover-container { 
  margin-right: auto; 
  margin-left: auto; 
} 
/* Padding for spacing */ 
 
.inner { 
  padding: 2rem; 
} 
/* 
 * Header 
 */ 
 
.masthead { 
  margin-bottom: 2rem; 
} 
.masthead-brand { 
  margin-bottom: 0; 
} 
.nav-masthead .nav-link { 
  padding: .25rem 0; 
  font-weight: bold; 
  color: rgba(255, 255, 255, .5); 
  background-color: transparent; 
  border-bottom: .25rem solid transparent; 
} 
.nav-masthead .nav-link:hover, 
.nav-masthead .nav-link:focus { 
  border-bottom-color: rgba(255, 255, 255, .25); 
} 
.nav-masthead .nav-link + .nav-link { 
  margin-left: 1rem; 
} 
.nav-masthead .active { 
  color: #fff; 
  border-bottom-color: #fff; 
} 
@media (min-width: 48em) { 
  .masthead-brand { 
    float: left; 
  } 
  .nav-masthead { 
    float: right; 
  } 
} 
/* 
 * Cover 
 */ 
 
.cover { 
  padding: 0 1.5rem; 
} 
.cover .btn-lg { 
  padding: .75rem 1.25rem; 
  font-weight: bold; 
} 
/* 
 * Footer 
 */ 
 
.mastfoot { 
  color: rgba(255, 255, 255, .5); 
} 
/* 
 * Affix and center 
 */ 
 
@media (min-width: 40em) { 
  /* Pull out the header and footer */ 
  .masthead { 
    position: fixed; 
    top: 0; 
  } 
  .mastfoot { 
    position: fixed; 
    bottom: 0; 
  } 
  /* Start the vertical centering */ 
  .site-wrapper-inner { 
    vertical-align: middle; 
  } 
  /* Handle the widths */ 
  .masthead, 
  .mastfoot, 
  .cover-container { 
    width: 100%; 
    /* Must be percentage or pixels for horizontal alignment */ 
  } 
} 
@media (min-width: 62em) { 
  .masthead, 
  .mastfoot, 
  .cover-container { 
    width: 42rem; 
  } 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
 
 
<div class="site-wrapper"> 
 
  <div class="site-wrapper-inner"> 
 
    <div class="cover-container"> 
 
      <div class="masthead clearfix"> 
        <div class="inner"> 
          <h3 class="masthead-brand">Cover</h3> 
          <nav class="nav nav-masthead"> 
            <a class="nav-link active" href="#">Home</a> 
            <a class="nav-link" href="#">Features</a> 
            <a class="nav-link" href="#">Contact</a> 
          </nav> 
        </div> 
      </div> 
 
      <div class="inner cover"> 
        <h1 class="cover-heading">Cover your page.</h1> 
        <p class="lead">Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.</p> 
        <p class="lead"> 
          <a href="#" class="btn btn-lg btn-secondary">Learn more</a> 
        </p> 
      </div> 
 
      <div class="mastfoot"> 
        <div class="inner"> 
          <p>Cover template for <a href="https://getbootstrap.com">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p> 
        </div> 
      </div> 
 
    </div> 
 
  </div> 
 
</div> 
</section> 
<section class="sectionSecond"> 
  <div class="container"> 
    <div class="row"> 
      <div class="col-md-3"> 
        <h1>Column-left</h1> 
      </div> 
      <div class="col-md-6"> 
        <h1>Column-middle</h1> 
      </div> 
      <div class="col-md-3"> 
        <h1>Column-right</h1> 
      </div> 
    </div> 
  </div> 
 
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

Заранее еще раз спасибо!

Answer 1

Для того, чтобы body занимал высоту контента уберите html, body { height: 100%; }.

Для того, чтобы .cover занимал высоту экрана присвойте ему .cover { height: 100vh }.
vh (viewport height) — единицы измерения, означающие высоту экрана в процентах.

READ ALSO
Как сделать &ldquo;гамбургер-меню&rdquo;

Как сделать “гамбургер-меню”

Доброго времени суток! Пытаюсь научиться делать гамбургер-меню, да не получается

496
Ограниченный доступ к веб-виджету

Ограниченный доступ к веб-виджету

Всем приветУ меня есть сайт-сервис с большой базой данных по узкой тематике (скажем, астрономия)

381
Помогите сверстать чат

Помогите сверстать чат

Нужно расположить блоки в виде чата, как на картинкеПомогите, пожалуйста, что я делаю не так и как это сделать правильнее, чище? Спасибо!

324
C# - чтение данных с HID-клавиатуры

C# - чтение данных с HID-клавиатуры

Имеется HID-клавиатура (на пульте ДУ)Требуется определять, какие HID-коды она посылает на USB-порт

365