热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【BootStrap】概述&CSS

BootStrapBootStrap由Twitter开发,基于HTML,CSS,JS,是一套前端框架。它的特点是对浏览器良好的支持(目前市面上所有流行浏览器都可以),兼容移动设备

BootStrap

  BootStrap由Twitter开发,基于HTML,CSS,JS,是一套前端框架。它的特点是对浏览器良好的支持(目前市面上所有流行浏览器都可以),兼容移动设备,以及响应式设计(响应式CSS自适应于各种设备)。

  安装BS可以到官方网站下载这个框架库,http://getbootstrap.com/ 。上面有两个类型的BS库,一种是编译好的一些文件(Download Bootstrap),另一种是一些源代码(Download Source)。源代码比较大,是让人分析的,对于一般的使用,下载预编译版本的即可。得到的预编译库的目录结构如下

  再得到库之后就是如何在文档中引用库了,基本上要在html中的标签中引用bootstrap.min.css(BS样式库),bootstrap.min.js(BS的JS插件库)以及jQuery(因为BS的JS文件会用到很多jQuery内容),例如:

<head>
    <title>...
    <meta>....
    <link href="..../bootstrap.min.css" rel="stylesheet" />
    <script src="...../jQuery.js">script>
    <script src="...../bootstrap.js">script>
head>

 

  下面将照抄W3CSchool的内容,根据BS的CSS,布局和插件三方面来介绍BS的功能和使用

 

BootStrap CSS

■  BS网格系统

  网页设计中可以用网格组织内容,使用户在查看内容时更加井井有条。BS使用网格系统来统括HTML内容,使得内容管理更加便利,同时因为内容铺展时有网格作为一个“容器”,所以可以让自适应不同设备变得更加简单。

  BS的网格系统会根据屏幕以及视口(浏览器窗口大小)的变化而自动增删网格,一个页面最多可以被分成12列的网格来呈现,如下结构:

  在利用BS的网格系统时,应该遵循:

  • 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。

  • 使用行来创建列的水平组。

  • 内容应该放置在列内,且唯有列可以是行的直接子元素。

  • 预定义的网格类,比如 .row.col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。

  • 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。

  • 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4

  基于以上的注意点,我们可以构建出的一个最简单的网格布局是像下面这些代码一样的:

<div class="container">
   <div class="row">
      <div class="col-*-*">内容div>
      <div class="col-*-*">内容div>      
   div>
   <div class="row">...div>
div>
<div class="container">....

  设置出一个.container类的元素后,相当划定了一片居中且指定了最大宽度的区域。在这个容器中每设置一个.row就是新开启一行。而在每一行中可以再以.col-xx-nn开启一列。xx的取值可以是lg(表示large),md(medium)和sm(small)。再在每个列区域中去设置内容。

  关于col类名中lg,md,sm三种选项,分别指定了当前页面布局在不同大小屏幕的设备上的布局方案。比如在我可以设置两个div分别是class="col-sm-3 col-md-6 col-lg-9" ; class="col-sm-9 col-md-6 col-lg-3"这两个列在不同的设备上显示的布局也不同,在小型设备(如手机)上是25%/75%,在中型设备(如平板电脑)上是50%/50%,在大型设备上(台式机)则是75%/25%。这主要是因为BS会根据当前设备(屏幕)大小的不同来查找带有不同关键字的类名并应用。

  以上就是BS网格系统的一些基础用法,更加高级一点的用法还有:

  列偏移

    默认的所有行的第一个列元素都是从行最左边开始算起的,如果不想让它从最左边开始算,方便的方法是搞一个空列出来放前面就好了。另外的一种方法是利用.col-xx-offset-nn的类来指出nn列的偏移。这个类的意思就是说,在这个元素的左边有nn列的空列,是不填充的。实例:col-md-offset-3.

  嵌套列

    稍微复杂一些的网格就有嵌套的关系。BS中的一个列可以再嵌套若干个行然后每个行中再加上若干个列,这些列的nn给值基准不是以总页面的12个列来,而是以当前所在列来的。比如:

<div class="row">
    <div class="col-lg-6">
        <div class="row">
            <div class="col-lg-6">div>
            <div class="col-lg-6">div>
            
        div>
    div>
    <div class="col-lg-6">....
div>

 

■  BS排版

  所谓排版就是通过一些既存类来进行文字的格式细化。在BS中大部分细化都和原生HTML是一致的。比如标签是强调,是强调加斜体等等。只不过BS在CSS上修改了一些这些默认标签的样式。另一方面,BS也以类和新标签的形式增加了许多新的文字格式的细化,其中,类也通常被用于

这类文本标签中。BS的这些类和标签有:

    使得文本变小变淡,如果在

这类标题标签的内容中增加上标签的话,small中的内容会变成灰色且字号小一点的副标题的样式

  .text-left/center/right  文本的居左居中居右对齐。顺便一提,不只是文本元素而同样适用于其他元素的对其方式是.pull-left/pull-right等

  .text-muted/success/primary/info/warning/danger  这些类使得文本斜体+附带一定颜色(比如success是绿色的,而warning是土黄色,danger是红色的)。通过这个类的CSS包装来规定所有警告啦,错误啦,信息啦,成功啦等等提示信息的样式

  .text-justify/nowrap  当时justify时可以使文本在屏幕宽度不够时自动换行,而nowrap使得文本不换行。

  .text-uppercase/lowercase/capitalize  一目了然不用说了。。

  

  开启一个引用块,就像知乎的引用那样,会在整个块左边有一条线以表示这是引用的文字。

  .list-unstyled/list-inline  两个关于