Когда я искал .row
в bootstrap.css файле я получил следующие определения:Как определяется класс .row в Bootstrap?
...
.row:before,
.row:after,
... {
display: table;
content: " ";
}
...
.row:after
... {
clear: both;
}
.row {
margin-right: -15px;
margin-left: -15px;
}
С этими определениями я ожидаю, что .row
класс вести себя следующим образом:
До и после любой строки там должен быть элементом уровня блока, охватывающим одно пустое пространство
. Пробел до
.row
не должен быть очищен и пробел после.row.
должен быть очищен. - Ничего из этого не происходит.Любой элемент
div
с классом.row
должен распространять 15px из его содержащего элемента влево и вправо. - Это наблюдается с обычным содержимым divs, но не с элементом тела. Например. если есть два класса дивы cо спаренной строки внутриbody
элемента:
@import url("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css");
.row div:nth-of-type(even) {
background-color: darkgray
}
.row div:nth-of-type(odd) {
background-color: lightgray
}
<div class="row">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
Как можно видеть, что текст не выходит в левой части окна просмотра на 15px. Кроме того, обе строки рендеринга без какого-либо промежутка между ними. Что случилось с .row:after {display: table; content: " ";}
?
Просьба пояснить.
P.S: Я не знаю, как работает @import url
в редакторе SO.
Если вы хотите посмотреть стили сетки/строки, проверьте меньше: https://github.com/twbs/bootstrap/blob/master/less/grid.less https://github.com/twbs /bootstrap/blob/master/less/mixins/grid.less https://github.com/twbs/bootstrap/blob/master/less/mixins/grid-framework.less – Luke
@Doctus Я еще не знаю МЕНЬШИЙ язык , – user31782
[Эта статья] (http://www.helloerik.com/the-subtle-magic-behind-why-the-bootstrap-3-grid-works) может вас заинтересовать. – Luke