[转载]Understanding the Bootstrap 3 Grid System

https://scotch.io/tutorials/understanding-the-bootstrap-3-grid-system

With the 3rd version of the great Bootstrap out for about 4 and a half months now, people have had their time to play around with it, learn the changes, find new features, and build amazing things.

The Difference

The most interesting change for me was the difference in the grid system. Bootstrap 2 catered to two different browser sizes (desktop and then mobile). With Bootstrap 3, you now build with mobile in mind first, and the grid system lets you create different grid systems based on browser size.

Bootstrap 2

The grid you create works on desktops and then stacks on top of each other when browser size is below 767px. This is limited since you can only define 1 grid on desktop sized browsers. You are left with a stacked grid on mobile devices.

Bootstrap 3

The new Bootstrap grid system applies to mobile first. When you declare a specific grid size, that is the grid for that size and above. This can be a little hard to grasp at first so here’s an example.

For example, let’s say you want a site that has:

  • 1 column on extra small devices
  • 2 columns on small AND medium devices
  • 4 columns on large devices

Since the grid system now cascades up from mobile devices, this is how this code will look.


<div class="row">
    <div class="col-sm-6 col-lg-3">
        This is part of our grid.
    </div>
    <div class="col-sm-6 col-lg-3">
        This is part of our grid.
    </div>
    <div class="col-sm-6 col-lg-3">
        This is part of our grid.
    </div>
    <div class="col-sm-6 col-lg-3">
        This is part of our grid.
    </div>
</div>

We don’t have to define anything for extra small devices since the default is one column. We have to define a grid size for small devices, but not for medium devices. This is because the grid cascades up. So if you define a size at sm, then it will be that grid size for sm, md, and lg.

We’ll explain the different grid sizes and how you create them and then show examples.

The Grid Sizes

This is the best part about the new grid system. You could realistically have your site show a different grid on 4 different browser sizes. Below is the breakdown of the different sizes.

.col-xs-$ Extra Small Phones Less than 768px
.col-sm-$ Small Devices Tablets 768px and Up
.col-md-$ Medium Devices Desktops 992px and Up
.col-lg-$ Large Devices Large Desktops 1200px and Up

The official Bootstrap docs offer a much more comprehensive understanding of how the grid works. Take a look at those to get a more solid overview of column sizes, gutter sizes, maximum column sizes, and the max-width of your overall site based on browser size.

Default Sizes for the Bootstrap Grid

Sometimes you will need to use media queries to get your site to act the way you’d like it to. Knowing the default grid sizes is essential to extending the Bootstrap grid. We’ve written up a quick tip to show you the default sizes so take a look if you need the Bootstrap media queries and breakpoints.

Responsive Utilities

Just like Bootstrap 2, Bootstrap 3 provides responsive utilities for hiding and showing elements based on the browser size. This will also help us in defining our grid system.

  • .visible-xs
  • .visible-sm
  • .visible-md
  • .visible-lg
  • .hidden-xs
  • .hidden-sm
  • .hidden-md
  • .hidden-lg

This helps because we are able to show certain elements based on size. In our examples today, we’ll be showing an extra sidebar on large desktops.

Examples

Here are a few examples of the grids that you can create. We’ll go through some basic sites that some people might want and show how easy it is to build that site with the Bootstrap 3 grid.

Resize your browser’s width to see the different grids in action.

Simple: Large Desktop vs Mobile

Let’s say you wanted a site to have 1 column on extra small (phone) and small (tablet) devices, 2 columns on medium (medium desktop) devices, and 4 columns on large (desktop) devices.

Large Devices!

Large Devices!

Large Devices!

Large Devices!

Here is the code for that example:


<div class="row">
    <div class="col-md-6 col-lg-3">
        <div class="visible-lg text-success">Large Devices!</div>
        <div class="visible-md text-warning">Medium Devices!</div>
        <div class="visible-xs visible-sm text-danger">Extra Small and Small Devices</div>
    </div>
    <div class="col-md-6 col-lg-3">
        <div class="visible-lg text-success">Large Devices!</div>
        <div class="visible-md text-warning">Medium Devices!</div>
        <div class="visible-xs visible-sm text-danger">Extra Small and Small Devices</div>
    </div>
    <div class="col-md-6 col-lg-3">
        <div class="visible-lg text-success">Large Devices!</div>
        <div class="visible-md text-warning">Medium Devices!</div>
        <div class="visible-xs visible-sm text-danger">Extra Small and Small Devices</div>
    </div>
    <div class="col-md-6 col-lg-3">
        <div class="visible-lg text-success">Large Devices!</div>
        <div class="visible-md text-warning">Medium Devices!</div>
        <div class="visible-xs visible-sm text-danger">Extra Small and Small Devices</div>
    </div>
</div>

Intermediate: Show Extra Column on Large Desktops

This is an interesting example and one that the new grid excels at. Let’s say you have a site that has a sidebar and a main content section. For extra small devices, you want one column, main content with the sidebar stacked below it. For small and medium devices, we want sidebar and main content to sit side by side. Now for large devices, we want to utilize the space on larger devices. We want to add an extra sidebar to show more content.

I am the main content.

I am the main sidebar.

I am the secondary sidebar that only shows up on LARGE devices.

We change the size of the main content to span 6 columns on large devices to make room for our second sidebar. This is a great way to utilize the space on larger desktops. And here is the code for that example.


<div class="row">
    <div class="col-sm-9 col-lg-6 text-danger">
        I am the main content.
    </div>
    <div class="col-sm-3 text-warning">
        I am the main sidebar.
    </div>
    <div class="col-lg-3 visible-lg text-success">
        I am the secondary sidebar that only shows up on LARGE devices.
</div>
</div>

Advanced: Different Grid For Every Size

This will be a more complex example. Let’s say that at no point in our grid system do we want all of our columns to stack. For extra small devices, we want 2 columns. For small devices, we want 3 columns. For medium devices, we want 4 columns. For large devices, we want 6 columns (one that only shows on large devices).

You get the drill now. Let’s just straight into the example and code.

I’m content!

I’m content!

I’m content!

I’m content!

I’m content!

I’m content only visible on large devices!


<div class="row">
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
        I‘m content!
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
        I‘m content!
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
        I‘m content!
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
        I‘m content!
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
        I‘m content!
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 visible-lg">
        I‘m content only visible on large devices!
    </div>
</div>

You can see that as the browser size gets smaller, the columns start to form. Also, the content inside each will begin stacking.

It’s Gridtastic!

You can see how easily it is to build complex and dynamic sites with the Bootstrap 3 grid. From mobile 2 column sites to complex hiding and showing elements on large desktops, you can build any type of site. Hopefully these examples will give you an idea of the flexibility of the new grid system and all the great things you can create.

时间: 2024-10-18 15:23:03

[转载]Understanding the Bootstrap 3 Grid System的相关文章

Bootstrap 网格系统(Grid System)

Bootstrap 网格系统(Grid System) Bootstrap提供了一套响应式,移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 什么是网格(Grid) 摘自维基百科: 在平面设计中,网格是一种由一系列组织内容的相交直线(垂直的.水平的)组成的结构(通常是二维的),它广泛应用于打印设计中设计布局和内容结构,在网页设计中,它是一种用于快递创建一致的布局和有效的使用html与css的方法. 简单的话,网页设计中的网格用于组织内容,让网站

Bootstrap 网格系统(Grid System)实例1

Bootstrap 网格系统(Grid System)实例:堆叠水平 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练作品: 堆叠水平</title> <meta charset="utf-8"

Bootstrap 网格系统(Grid System)实例2

Bootstrap 网格系统(Grid System):堆叠水平,两种样式 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练作品: 堆叠水平</title> <meta charset="utf-8&q

BootStrap -- Grid System

<script src="jquery.1.9.js"></script> <script src="js/bootstrap.min.js"></script> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css

BootStrap入门教程 (一) :手脚架Scaffolding(全局样式(Global Style),格网系统(Grid System),流式格网(Fluid grid System),自定义(Customing),布局(Layouts))

2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用.优雅.灵活.可扩展的前端工具集--BootStrap.Bootstrap由MARK OTTO和Jacob Thornton所设计和建立,在github上开源之后,迅速成为该站上最多人watch&fork的项目.大量工程师踊跃为该项目贡献代码,社区惊人地活跃,代码版本进化非常快速,官方文档质量极其高(可以说是优雅),同时涌现了许多基于Bootstrap建设的网站:界面清新.简洁;要素

4 classes in Bootstrap Grid system

The Bootstrap grid system has four classes: xs: extra small screens (mobile phones) sm: small screens (tablets) md: medium screens (normal desktops) lg: large screens (large desktops)

一个简单的响应式横向网格布局框架Responsive Grid System

网页设计中有一个怎么也绕不开的问题,那就是布局问题.一般来说,一个div可能会分割成很多部分,同样是横向分割成两部分,但是在不同的项目中,我们可能会用不同的css代码,网格系统其实就是为这一类似的问题提供一个统一的解决办法. 网格布局有很多,但是有很多非常复杂,往往无法二次开发.Responsive Grid System是国外的一个网站,他们提供了一种非常简单的实现.其实每一个前端开发人员都可以写出这样的框架,但是,从头开始也许会让很多人动力不足.这个框架代码很简单,对我而言,采用它的原因仅仅

[转载自百度文库]数组拷贝(System.arraycopy,深度拷贝)--数组

数组拷贝(System.arraycopy,深度拷贝)--数组 [ITjob课程资料] 拷贝数组 数组一旦创建后,其大小不可调整.然而,你可使用相同的引用变量来引用一个全新的数组: int[] myArray = new int [6]; myArray = new int[10]; 在这种情况下,第一个数组被丢弃,除非对它的其它引用保留在其它地方. Java编程语言在System类中提供了一种特殊方法拷贝数组,该方法被称作arraycopy().例如,araycopy可作如下使用: int[]

转载:Easyui中的Grid的行单击双击事件

$('#surveryGird').datagrid( {  loadMsg : "正在加载数据",  url : url,  height : 320,  width : 270,  searching : true,  pagination : true,//分页  sortName: 'reportTimeStr',  sortOrder: 'desc',  remoteSort: false,  onClickRow:function(rowIndex,rowData){