Столкнулся со странной проблемой, работая с 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>
Заранее еще раз спасибо!
Для того, чтобы body
занимал высоту контента уберите html, body { height: 100%; }
.
Для того, чтобы .cover
занимал высоту экрана присвойте ему .cover { height: 100vh }
.
vh
(viewport height) — единицы измерения, означающие высоту экрана в процентах.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Доброго времени суток! Пытаюсь научиться делать гамбургер-меню, да не получается
Всем приветУ меня есть сайт-сервис с большой базой данных по узкой тематике (скажем, астрономия)
Нужно расположить блоки в виде чата, как на картинкеПомогите, пожалуйста, что я делаю не так и как это сделать правильнее, чище? Спасибо!
Имеется HID-клавиатура (на пульте ДУ)Требуется определять, какие HID-коды она посылает на USB-порт