bootstrap3 媒体查询 栅格参数

2018-07-17  本文已影响0人  余带盐
/* 超小屏幕(手机,小于 768px) */
/* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */

/* 小屏幕(平板,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }

/* 中等屏幕(桌面显示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }

/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }

我们偶尔也会在媒体查询代码中包含 max-width 从而将 CSS 的影响限制在更小范围的屏幕大小之内。

@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }
image.png
  1. lg


    lg
  2. md


    md
  3. sm


    image.png
  4. xs(自动)


    image.png

比如.col-md-*,当宽度>=992px的时候,呈现水平,小于则呈现堆叠

<div class="row">
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
 <div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
 <div class="col-md-8">.col-md-8</div>
 <div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
 <div class="col-md-6">.col-md-6</div>
 <div class="col-md-6">.col-md-6</div>
</div>
<div class="container">
   <div class="row">
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
       <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div>
   </div>
</div>

将最外面的布局元素 .container 修改为 .container-fluid,就可以将固定宽度的栅格布局转换为 100% 宽度的布局。

<div class="container-fluid">
 <div class="row">
   ...
 </div>
</div>

如果在一个 .row 内包含的列(column)大于12个,包含多余列(column)的元素将作为一个整体单元被另起一行排列。

<div class="row">
   <div class="col-xs-9">.col-xs-9</div>
   <div class="col-xs-4">.col-xs-4
       <br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
   <div class="col-xs-6">.col-xs-6
       <br>Subsequent columns continue along the new line.</div>
</div>

使用 .col-md-offset-* 类可以将列向右侧偏移。这些类实际是通过使用 * 选择器为当前元素增加了左侧的边距(margin)。例如,.col-md-offset-4 类将 .col-md-4 元素向右侧偏移了4个列(column)的宽度。

<div class="row">
   <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
   <div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div>
</div>
<div class="row">
   <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
   <div class="col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
</div>

col-sm-offset-2:在col-sm生效的情况下向右偏移2列
注:offset如果向右偏移超过12,那么就会另起一行,而且偏移也会从下一行重新算起,如

<div class="row">
   <div class="col-xs-7" style="background-color: red">col-xs-7</div>
   <div class="col-xs-4 col-xs-offset-2" style="background-color: yellow">col-xs-4 col-xs-offset-2</div>
</div>
image.png

为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的 .row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内。被嵌套的行(row)所包含的列(column)的个数不能超过12(其实,没有要求你必须占满12列)。

<div class="row">
   <div class="col-sm-9" style="background-color: red">
       Level 1: .col-sm-9
       <div class="row">
           <div class="col-xs-8 col-sm-6" style="background-color: blue">
               Level 2: .col-xs-8 .col-sm-6
           </div>
           <div class="col-xs-4 col-sm-6" style="background-color: yellow">
               Level 2: .col-xs-4 .col-sm-6
           </div>
       </div>
   </div>
</div>

通过使用 .col-md-push-*.col-md-pull-* 类就可以很容易的改变列(column)的顺序。
注:这个操作可以使栅格重叠
col-md-push-4是从左到右第4列开始
col-md-pull-5是从右到左第5列开始

<div class="row">
   <div class="col-md-9 col-md-push-4">col-md-9 col-md-push-4</div>
   <div class="col-md-3 col-md-pull-5">col-md-3 col-md-pull-5</div>
</div>
image.png
上一篇 下一篇

猜你喜欢

热点阅读