如何使用Bootstrap制作网站--入门篇

安装bootstrap

  • 打开官网,点击download按钮

    官网页面

  • 下载好了之后,它是一个文件夹,里面有css和js 两个子文件夹


  • 新创建一个html,然后把下面这几句放到head里面

    <!DOCTYPE html>
    
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta name="viewport" content="width=device-width, initial- scale=1.0">
    <meta charset="utf-8"  />
    <title></title>
    <!--这里是呼唤bootstrap的咒语-->
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <!--这里是呼唤bootstrap的咒语-->
    </head>
    <body>
    </body>
    </html>
    

上手尝试

  • 我们先在在body里面包含一个container的div,并且创建一个新的行,在行下面包含一个子元素--列

    <body>
    <div class="container">
      <div class="row clearfix">
          <div class="col-md-12 column">
          </div>
      </div>
    </div>
    </body>
    

clearfix 是一种 CSS 技巧,可以在不添加新的 html 标签的前提下,解决让父元素包含浮动的子元素的问题。
col-md=12 column: 这里的意思是,我们设置一个长度为12(bootstrap的框架下面,每一行的长度就是12),具体的怎么设置列的大小,可以参考下面这个图

导航栏

我想做一个关于女神的介绍网页,所以这个导航栏也是和女神相关的

   <div class="col-md-12 column">
     <nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
    <div class="navbar-header">
            <a class="navbar-brand" href="#">Introduction</a>
          </div>
      </div>
      </nav>
        </div>

nav : 是html的一个导航栏标签
role属性:作用是告诉Accessibility类应用(比如屏幕朗读程序,为盲人提供的访问网络的便利程序),这个元素所扮演的角色,主要是供残疾人使用。使用role可以增强文本的可读性和语义化。bootstrap的案例内很多都是有类似的属性和声明的,目的是为了兼容老版本的浏览器(用户代理),如果你的代码使用了html5标签,并且不准备支持老版本的浏览器,不妨不使用role标签。
ontainer-fluid: width是100%,而container的width是用媒体查询获得的动态尺寸。并且由于padding的原因两者不可用嵌套,他们就是提供两种视觉风格。
navbar-header: 这里我们先创建了一个比较大的导航栏项目头

        <div class="container-fluid">
                    <div class="navbar-header">
                        <a class="navbar-brand" href="#">Introduction</a>
                    </div>
                    <div>
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="#">Movies</a></li>
                            <li><a href="#">Awards</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                                    Links
                                    <b class="caret"></b>
                                </a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">movie resources</a></li>
                                    <li><a href="#">family</a></li>
                                    <li><a href="#">relative actors</a></li>
                                    <li class="divider"></li>
                                    <li><a href="#">Oascar winners</a></li>
                                    <li class="divider"></li>
                                    <li><a href="#">IMDB website</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </div>

active: 表示这一个选项是被触发的状态
a href="#": 这里指的是导航栏的跳转链接,暂时没有设置
dropdown:是bootstrap下拉菜单的一个插件
toggle:是可以点击下拉的按钮
dropdown-menu:是点击之后显示的下拉菜单
divider : 显示一条分割线
<b class="caret"></b>: 增加了一个加粗(b标签)的三角图标

效果如下图:


轮播效果

     <div class="carousel slide" id="carousel-181466">
     <!-- 轮播(Carousel)指标 -->
        <ol class="carousel-indicators">
                    <li class="active" data-slide-to="0" data-target="#carousel-181466">
                    </li>
                    <li data-slide-to="1" data-target="#carousel-181466">
                    </li>
                    <li data-slide-to="2" data-target="#carousel-181466">
                    </li>
                </ol>
     <!-- 轮播(Carousel)项目 -->
       <div class="carousel-inner">
                    <div class="item active">
                        <img alt="" src="娜1.jpg" />
                        <div class="carousel-caption">
                            <h4 class="My_h4">
                                Léon (1994)
                            </h4>
                            
                        </div>
                    </div>
                    <div class="item">
                        <img alt="" src="娜2.png" />
                        <div class="carousel-caption">
                            <h4 class="My_h4">
                                Dior(2011)
                            </h4>
                           
                        </div>
                    </div>
                    <div class="item">
                        <img alt="" src="娜3.png" />
                        <div class="carousel-caption">
                            <h4 class="My_h4">
                                Muse (forever)
                            </h4>
                            
                        </div>
                    </div>
                  <!--这里添加控制图片左右滑动的按钮-->
                </div> <a class="left carousel-control" href="#carousel-181466" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a> <a class="right carousel-control" href="#carousel-181466" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a>
            </div>

使用 Bootstrap 轮播(Carousel)插件显示了一个循环播放元素的通用组件。为了实现轮播,您只需要添加带有该标记的代码即可。不需要使用 data 属性,只需要简单的基于 class 的开发即可。

  • 效果如下图:


超大屏幕(Jumbotron)

Bootstrap 支持的另一个特性,超大屏幕(Jumbotron)。顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin)。使用超大屏幕(Jumbotron)的步骤如下:

  • 创建一个带有 class .jumbotron. 的容器 <div>。
  • 除了更大的 <h1>,字体粗细 font-weight 被减为 200。

我们的示例代码:

      <div class="jumbotron" style="background-color:beige">
                <h1>
                    Natalie Portman
                </h1>
                <p>
                    Natalie Portman is the first person born in the 1980s to have won the Academy Award for Best Actress (for Black Swan (2010)).After high school,she graduated with honors, and her academic achievements allowed her to attend Harvard University. 
                 </p>
                </div>

隐藏功能

方法一

代码实现

         <button type="button" class="btn btn-primary" data-toggle="collapse"
     data-target="#demo">
        Learn More 
         </button>
         <div id="demo" class="collapse in">
                        Nihil anim keffiyeh helvetica, craft beer labore wes anderson
                        cred nesciunt sapiente ea proident. Ad vegan excepteur butcher
                        vice lomo.
         </div> 

<button> :标签定义一个按钮
button 的type属性:有button、reset、submit三个选项,用于规定按钮的类型
class属性:这里的“btn btn-primary”其实是在召唤bootstrap中已经写好了的按钮,更多的按钮教程请点击这里我们这个例子中,我选择了最普通的原始按钮样式。
data-toggle:这个属性是bootstrap里面特有,我理解的意思是,把这里的数据连接到与“collapse”功能中去。
data-target: 这里相当于,告诉这一个按钮,这里触发之后,会对id是demo的数据做处理。
<div id="demo" class="collapse in">:这里的collapse in的作用是,当按钮被点击之后,这里数据的操作就是会被显示出来。

效果:点击“Learn More”之后,后面的文字会收起来或显示出来

方法二--折叠面板

这个的效果和上面有些不同,这个是在一个框框里变化,相当于标题、收缩和展开都是在一个框里,所以也有人把这个效果叫做“手风琴”


代码实现

<div class="panel-group" id="accordion">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h4 class="panel-title">
                            <a data-toggle="collapse" data-parent="#accordion"
                               href="#collapseOne">
                                View details
                            </a>
                        </h4>
                    </div>
                    <div id="collapseOne" class="panel-collapse collapse in">
                        <div class="panel-body">
                            Is one of 6 actresses to have been pregnant at the time of winning the Academy Award. Portman was 5 months pregnant with her son Aleph when she won the Best Actress Oscar for Black Swan (2010). She was pregnant again when she was nominated for Best Actress in 2017.
                        </div>
                    </div>
                </div>

            </div>

panel-group: bootstrap中已经定义好了,我们只是把它召唤出来,后面的id=accordion也是在召唤“手风琴”这个效果。之后把panel放到panel-group的这个标签之内,作为它的子元素。
panel panel-default: 这里选择的面板类型是最普通的default 类型,大家可以换成panel-primary之类的。
面板标签内的布局: 有点像html文档中body,head,title的布局,我画了一个示意图,大约是这样的

最后实现的效果是这样的,点击“view details”面板会收起或放下


一行多列

其实我也不知道这个效果应该怎么称呼,大概就是把一行分成好几栏的样子,最终效果是这样的


  • 代码实现
    首先是整体的代码架构

这里为什么是col-md-4: 因为一行有三列,一行的长度是12(见前文的图),所以每一列的长度是4

每一列的具体代码


这里没有什么特别的可说之处,整体和html的普通方式一样,有两个注意的地方
small_img:是我自己定义的一个CSS样式,如果对于CSS样式不了解,可以参考我之前写的一个介绍CSS的文章
手风琴效果:这里我直接复制了上面讲到代码来实现这个效果,但是大家要注意更改每一不同版面的id="collapseOne"还有“href属性中的collapseOne”,因为id是独一无二的,每个内容只能有一个名字。

最终效果

*注:本文章的代码和案例有参考网上教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • 第5章 菜单、按钮及导航 一、下拉菜单 小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根...
    凛0_0阅读 4,954评论 0 66
  • 第4章 Bootstrap装饰插件 JavaScript是网页上事实上的脚本语言。流行的网页功能,例如:漂亮的图片...
    海上名月阅读 1,616评论 5 6
  • 第3章 探索Bootstrap组件 在这一章,我们将开始使用Bootstrap的一些非常有用的HTML组件。诸如按...
    海上名月阅读 930评论 1 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • Bootstrap是什么? 一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。GitHub上介绍 的...
    凛0_0阅读 10,862评论 3 184