zoukankan      html  css  js  c++  java
  • 使用Twitter Bootstrap 20分钟打造你的网站

    这篇教程旨在让你在20分钟内学会使用twitter bootstrap创建一个站点。看完这个教程后你应该能够使用bootstrap来建立一个基本的响应式布局的页面,了解栅格系统,并且能够使用bootstrap导航、导航条和了解响应式设计的基础。这些全部都是使用twitter bootstrap所需要具备的知识。

    首先我们需要说的是twitter bootstrap是非常优秀的一个前端开源框架,它为所有的组键都提供了详细的用例,让你能够轻易地通过复制黏贴而附加到你的设计中。查阅官方文档可以点击这里

    基本的HTML模板

    我们需要以一个基本的HTML模板,这样我们能够把所需要的bootstrap文件包含进来。下面就是我们twitter bootstrap项目的开头,复制这些代码到一个文件中并将其命名为index.html。 

    <!DOCTYPE html>
      <head>
        <title>Twitter Bootstrap Tutorial - A responsive layout tutorial</title>
        <style type='text/css'>
          body {
            background-color: #CCC;
          }
        </style>
      </head>
      <body>
     
      </body>
    </html>

     这段代码中我们已经添加了一些CSS使页面的背景呈亮灰色,因为这样我们能够轻易地在我们的设计中看见不同的列,使它更加容易理解。

    引入twitter bootstrap文件

    为了使用twitter bootstrap我们仅仅需要把一个文件引入到我们的模板当中来,引入文件有很多种方法,如果你想了解这些方法请查阅相关文档。

    基于本教程的出发点,我们将会通过CDN来引入bootstrap-combined.min.css文件而不需要下载任何的文件。

    <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet">

    它能够使所有的twitter bootstrap CSS在我们的模板中生效。

    Twitter Bootstrap的容器

    bootstrap的container类是非常有用的,它能在页面中创建一个居中的区域,然后我们能够把其他位置的内容放到里面。container类等价于创建了一个具有静态宽度并且magin值为auto的一个居中的div框。twitter bootstrap的 container类的优点在于它是响应式的,它会以当前屏幕的宽度为基础计算出最佳的宽度予以实用。

    在body标签中,使用container类创建一个div。它会作为页面主要的放置其他代码的外层包裹。

    如果你调整这个DIV的高度并将其背景颜色设置为白色,你所看到的效果会是这样:

    Twitter Bootstrap Tutorial, Section 1

    标题和导航

    现在我们已经有一个地方可以添加额外的HTML代码,我们可以添加标题文本然后再创建站点的主要导航条。

    加入如下的文本或者你选择的文字到container类的div标签当中。

    <h1>TWITTER BOOTSTRAP TUTORIAL</h1>

    现在并没有多少新的东西,这仅仅是一个标题,让我们转移到更有趣的方面,twitter bootstrap导航。

    Bootstrap 有一个nav类让我们能够创建各种各样的导航元素,你可以在h1标签之后加入如下的代码。

    <div class="navbar navbar-inverse">
      <div class='nav-collapse' style="height: auto;">
        <ul class="nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Page One</a></li>
          <li><a href="#">Page Two</a></li>
        </ul>
      </div>
    </div>

    navbar相关的类拥有导航条所有的样式,添加navbar-inverse类将会应用一个很酷的黑色风格,这是一个twitter bootstrap的常见搭配。我建议在这个样式的基础上进行拓展从而创造你的独一无二的导航。但在这个教程中我们仍然会使用基础的bootstrap样式。

    在类为navbar的DIV当中,我们添加另一个类为nav-collapse的DIV并为其添加行内样式height:auto;这是告诉bootstrap当这个页面在小于970px宽度的浏览器窗口当中时,它会提供一个压缩的切换视图。

    如果你保存了index.html文件然后在浏览器中打开,当你调整浏览器窗口的宽度时你就能够看到这个变化,如图所示。

    大于979px

    Twitter Bootstrap Tutorial, Section 2

    小于979px

    Twitter Bootstrap Tutorial, Section 3

    另外,我们可以添加nav类到一个HTML无序列表元素中以便从bootstrap CSS文件中应用更多的样式,也可以添加一个active类到“HOME”列表项中。

    主内容和侧边栏

    我们已经完成了站点的主导航,现在我们需要添加主要内容区和一个侧边栏来支持更多的链接或导航路径。请把下面的代码添加到导航条之后。

    <div id='content' class='row-fluid'>
      <div class='span9 main'>
        <h2>Main Content Section</h2>
      </div>
      <div class='span3 sidebar'>
        <h2>Sidebar</h2>
      </div>
    </div>

    这正是我们需要弄懂的bootstrap的栅格系统,当然,bootstrap的官方文档中涵盖了更多的细节,但我们将会以基础开始,让你更好地理解它。

    栅格系统利用了12列的布局,这意味着一个页面可以被分割成12个相同的列。下面这张从bootstrap官方文档中拿到的图片给出了一个很好的展示。

    Twitter Bootstrap Tutorial, Section 4

    在我们刚刚黏贴在导航条下面的代码中你可以看到名为span9和span3的类。它们会把页面分割成左边9列宽度和右边3列宽度的两部分,形成我们的内容区域和侧边栏。使用栅格系统的其中一个好处就是它会根据视窗宽度动态计算出列的宽度,因此你不需要写任何的媒体查询也能使你的站点工作在任何的屏幕分辨率下。

    你可以通过改变span的数量和调整浏览器的大小来观察它们的效果。你会注意到当内容区小于724px的时候,这些列会垂直地堆放。

    现在我们在主内容区域把下列文本或者任何其他的文本放在在h2标签之后,这只是为了把页面拉长一点。

    现在站点会像如下显示:

    Twitter Bootstrap Tutorial, Section 5

    侧边栏导航

    你可以在这里看到所有的Twitter bootstrap为我们提供的导航元素。

    我们将要使用垂直选项卡来创建一个额外的导航区。复制和黏贴下面的代码到sidebar的h2标签之后。

    <ul class="nav nav-tabs nav-stacked">
      <li><a href='#'>Another Link 1</a></li>
      <li><a href='#'>Another Link 2</a></li>
      <li><a href='#'>Another Link 3</a></li>
    </ul>

    这是一个简单的展示!上面的代码照字面理解仅仅是一个具有类为nav-tabs和nav-stacked的无序列表,但它却为我们创造了一个导航面板。

    看看最后的效果,一个基于twitter bootstrap的响应式设计的页面完成了。

    Twitter Bootstrap Tutorial, Section 6

    结论

    通过twitter bootstrap所提供的特性,我们给出了这个非常快速的bootstrap基础教程,但花点时间练习并多多查阅官方的文档,不久之后你就可以成为一个bootstrap的专家了。

    在阅读本教程之后你应该懂得如何使用栅格系统,不同类型的导航和响应式设计的基本原理。

  • 相关阅读:
    H264--2--语法及结构
    LIB和DLL的区别与使用
    动态库与静态库优缺点比较
    网络摄像机连接图
    作为一名安防人,你真的了解网络摄像机吗?
    帧率、分辨率、码流的关系
    视频监控存储空间大小与传输带宽计算方法
    如何配置监控系统的电源功率?
    Websocket通信过程
    Python进阶点
  • 原文地址:https://www.cnblogs.com/onflying/p/3106739.html
Copyright © 2011-2022 走看看