Bootstrap(四)bootstrap的各种组件

 

其实,我觉得bootstrap的精髓在于对各种组件的合理调用,一些网页基本的组件,例如顶部导航栏,左侧导航栏,底部,弹窗等等。接下来研究一下各种实用的组件。首先,讲一下bootstrap中的怪异的属性。

  • data-  这个前缀的话,是HTML5的新特性,用于自定义新的数据并存储。方便js对数据进行读取。

首先,我们来看一下bootstrap的组件之图标按钮。先看效果图:

左上角的按钮就是我们的图标按钮,接下来是代码:

<button class="btn btn-default">
		<span class="glyphicon glyphicon-star"></span>
		这是一个按钮
    </button>

首先,申明glyphicon,然后将star的样式加入。

下拉菜单样式,bootstrap对其进行了封装,样式和动画都有:

代码如下:

<div class="dropdown">
		<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
			下拉菜单
			<span class="caret"></span>
		</button>
		<ul class="dropdown-menu">
			<li>
				<a href="http://imooc.com">慕课网</a>
			</li>
			<li>
				<a href="http://imooc.com">慕课网</a>
			</li>
			<li>
				<a href="http://imooc.com">慕课网</a>
			</li>
			<li>
				<a href="http://imooc.com">慕课网</a>
			</li>
		</ul>
    </div>

可以看出,我们首先使用一个class为dropdown的div来约束当前的下拉菜单,内部的结构由两个结构组成,按钮和无序列表。

首先是按钮部分。其中,出现了一个我们曾经没有遇到的class属性:dropdown-toggle。其实,在当前的状态下,这个class属性并不会有太多的影响,但是当我们需要调用js来实现下拉动作时,这个可以与js交互(建议写上)。然后出现了一个同样没有遇到过的data-toggle属性。前面我们说过,data-前缀的是自定义的属性,用于存储数据,而data-toggle是bootstrap自定义的属性,用于绑定切换动画,标准的写法是:

<div class="dropdown">   <!-- 父元素 -->
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <!-- 子元素 -->

具体的含义目前有些混乱,后期明白了之后,会进行具体修改。

button后的span用于调用出caret样式,暨向下的箭头。

接下来的ul用于画出下拉菜单中的内容框。ul的dropdown-menu样式,用于约束下拉菜单的样式。

接下来是基本的控件样式:

可以看到,左边和右边各有一个灰色的框框,里面还包含有字符:

<div class="input-group">
    	<span class="input-group-addon">$</span>
		<input type="text" name="" class="form-control">
		<span class="input-group-addon">%</span>
    </div>

很容易想到,这里面,我们使用的是span标签,其中,我们对其约束的样式是input-group-addon样式,然后写入字符就可以了。当然,我们也可以只使用一个。

导航栏样式。接下来,是我们的导航栏。导航栏一般分为这么几种,顶部,边栏,底部。在每一种导航栏中,bootstrap也给出了具体的样式,例如pills,tabs等。

上图列举了三种导航栏:tabs类型导航栏,pills导航栏,和stacked垂直导航栏:

    <!-- 导航 -->
    <!-- 基本可切换导航 -->
    <div class="dropdown">
	<ul class="nav nav-tabs">
	    <li class="active" data-toggle="dropdown">
		<a href="http://www.imooc.com">慕课网</a>
	    </li>
	    <ul class="dropdown dropdown-menu">
		<li>
    		    <a href="http://imooc.com">慕课网</a>
                </li>
		<li>
                    <a href="http://imooc.com">慕课网</a>
		</li>
		<li>
                    <a href="http://imooc.com">慕课网</a>
		</li>
		<li>
	            <a href="http://imooc.com">慕课网</a>
                </li>
            </ul>
            <li>
                <a href="http://www.imooc.com">慕课网</a>
            </li>
            <li>
                <a href="http://www.imooc.com">慕课网</a>
            </li>
        </ul>
    </div>
    
    <br>
    <!-- 胶囊导航 -->
    <ul class="nav nav-pills">
        <li class="active">
	    <a href="http://www.imooc.com">慕课网</a>
	</li>
	<li>
	    <a href="http://www.imooc.com">慕课网</a>
	</li>
	<li>
	    <a href="http://www.imooc.com">慕课网</a>
	</li>
    </ul>
    <br>
    <!-- 垂直导航 -->
    <ul class="nav nav-pills nav-stacked col-md-2">
	<li class="active">
	    <a href="http://www.imooc.com">慕课网</a>
	</li>
	<li>
	    <a href="http://www.imooc.com">慕课网</a>
        </li>
        <li>
            <a href="http://www.imooc.com">慕课网</a>
        </li>
    </ul>

第一个导航栏我们结合了下拉菜单和tabs导航栏样式(下拉菜单不会的往上翻看),其中需要注意的是,nav样式是导航栏的特有样式,nav-tabs,nav-pills是横向导航栏的样式,nav-stacked是垂直样式。

分页样式。bootstrap为用户提供了分页样式,有左右跳转,也有12345的分页样式。废话不多说,上图:

我们直接代码分析:

<nav>
    	<ul class="pager">
			<li class="previous">
				<a href="http://www.baidu.com">
					向左
				</a>
			</li>
			<li class="next">
				<a href="http://www.baidu.com">
					向右
				</a>
			</li>
    	</ul>
		<ul class="pagination">
			<li class="active">
				<a href="http://www.imooc.com">
					1
				</a>
			</li>
			<li>
				<a href="http://www.imooc.com">
					2
				</a>
			</li>
			<li>
				<a href="http://www.imooc.com">
					3
				</a>
			</li>
			<li>
				<a href="http://www.imooc.com">
					4
				</a>
			</li>
			<li>
				<a href="http://www.imooc.com">
					5
				</a>
			</li>
		</ul>
    </nav>

首先,我们用一个nav标签开头,这里有个说法,关于nav的。其实nav只适用于强调语义,并无实际的效果或是区别。要说帮助的话,就是有助于seo的优化。这里可以使用div来实现(可以不用nav,无关紧要)。

首先,第一个ul。我们可以看到其class是pager,是bootstrap为用户提供的一个分页样式,pager有两个具体的内容样式,一个previous,一个next,字面意思,前进后退。

第二个pagination,样式是12345的分页样式。

进度条样式。进度条是每一个网页都不可缺少的样式,也不没有form这么硬核,但是好像每个网站都会用到这个组件。bootstrap的整体风格很素,我比较喜欢,所以这个进度条很素很干净。接下来上图:

来来来,看代码:

<div class="progress">
		<div class="progress-bar progress-bar-striped" style="width: 60%;">
			60%
		</div>
    </div>

其实进度条只是一个包含样式的div(块),进度就是颜色填充的百分比。接下来分析一下具体的样式属性。

  • progress样式   progress是声明当前外层div包裹的是进度条div,效果是一根长度布满全屏的灰色长条
  • progress-bar 样式   第二层的div是对进度的修饰,progress-bar就是基本的进度条样式
  • progress-bar-striped样式   第二层div的第二个样式,是使整个进度条的颜色渐变变化。

具体的颜色可以在第二层div的class中添加progress-bar-danger 等(相信大家对这些样式很熟了,触类旁通懂伐旁友)。

列表样式。列表可以说,是一个最最常用的组件了。幸运的是bootstrap给了我们快捷方式:

我们可以看到,有三行,每一行结束都有状态数字显示。直接上代码:

    <ul class="list-group col-md-4">
		<li class="list-group-item active">
			这是一个列表
			<span class="badge">
				14
			</span>
		</li>
		<li class="list-group-item disabled">
			这是一个列表
			<span class="badge">
				14
			</span>
		</li>
		<li class="list-group-item list-group-item-info">
			这是一个列表
			<span class="badge">
				14
			</span>
		</li>
    </ul>

首先,我们用一个ul来包裹全部内容,class是list-group(和form-group类似),字面意思很好理解,里面的li标签的class更好理解了,群组内的额条目,所以是list-group-item。关于状态数字显示,我们调用一个span(大家应该有所了解了什么是span),class为badge,字面意思,标记,徽章。

面板样式。面板是美化一个界面的重要组件,先看效果:

我知道很丑,但是作为一个菜鸟而言,这个面板已经很好看了,三个部分,head,body,footer。代码:

<div class="panel panel-primary">
		<div class="panel-heading text-center">
			弹出层!
		</div>
		<div class="panel-body text-center">
			这是面板的具体内容
		</div>
		<div class="panel-footer text-center">
			这是面板的注脚
		</div>
    </div>

首先老样子,先声明panel的div,然后规定panel的样式为primary。先是头部,panel-heading,text-center文字居中;接下来是panel-body;最后是panel-footer。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值