Bootstrap组件——导航

一、导航

1.基本

基础.nav组件采用Flexbox弹性布局构建,并为构建所有类型的导航组件提供了坚实的基础。

<div class="row">
	<div class="col">
		<ul class="nav"><!-- 基础类,变成弹性盒模型 -->
			<li>
				<a class="nav-link" href="#">入门</a>	
				<!-- 变成块元素,并加了一个padding -->
			</li>
			<li>
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>
<div class="row">
	<div class="col">
		<nav class="nav">
			<a class="nav-link" href="#">使用nav标签</a>
			<a class="nav-link" href="#">布局</a>
		</nav>
	</div>
</div>

在这里插入图片描述

2.水平对齐

  1. justify-content-start
  2. justify-content-center
  3. justify-content-end
<div class="row mt-5">
	<div class="col">
		<ul class="nav justify-content-start">
			<li>
				<a class="nav-link" href="#">对齐</a>
			</li>
			<li>
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>

3.垂直对齐

  1. flex-column
  2. flex-sm-column
<div class="row mt-5">
	<div class="col">
		<ul class="nav flex-sm-column">
			<li>
				<a class="nav-link" href="#">垂直排列</a>
			</li>
			<li>
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>

4.Tabs标签

加入 .nav-tabs 以生成选项卡标签(滑动门,同时结合 tab JavaScript 插件来构建tabs滑动门。

<div class="row mt-5">
	<div class="col">
		<!-- 此时li就应该加上nav-item这个class了。它主要设置了mrgin-bottom。为了去掉当前项的底边框-->
		<ul class="nav nav-tabs">
			<li class="nav-item">
				<a class="nav-link active" href="#">tabs标签</a><!-- 当前激活项 -->
			</li>
			<li class="nav-item">
				<a class="nav-link disabled" href="#">组件</a><!-- 禁用,没有hover样式 -->
			</li>
		</ul>
	</div>
</div>

在这里插入图片描述

5.胶囊式(eugk)标签

<div class="row mt-5">
	<div class="col">
		<ul class="nav nav-pills">	<!-- 通过nav-pills添加 -->
			<li class="nav-item">
				<a class="nav-link active" href="#">胶囊式标签</a>
			</li>
			<li class="nav-item">
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>

在这里插入图片描述

6.内容定宽高

.nav内容有两种扩展class属性, 使用.nav-fill会将 .nav-item按照比例分配空间。注意:这会占用所有的水平空间,但不是每个导航项目的宽度相同。

<div class="row mt-5">
	<div class="col">
		<ul class="nav nav-pills nav-fill">
			<li class="nav-item">
				<a class="nav-link active" href="#">宽度由内容而定</a>
			</li>
			<li class="nav-item">
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>
<!-- nav标签也可以使用nav-fill,但是请注意a标签身上需要添加.nav-item -->
<div class="row">
	<div class="col">
		<nav class="nav nav-pills nav-fill">
			<a class="nav-link nav-item active" href="#">宽度由内容而定</a>
			<a class="nav-link nav-item" href="#">布局</a>
		</nav>
	</div>
</div>

在这里插入图片描述

7.等宽

等宽元素,请使用.nav-justified。所有水平空间将被导航链接占用,但与上述.nav-fill不同,每个导航项目将具有相同的宽度。

<div class="row mt-5">
	<div class="col">
		<ul class="nav nav-pills nav-justified">
			<li class="nav-item">
				<a class="nav-link active" href="#">宽度为等宽</a>
			</li>
			<li class="nav-item">
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>
<!-- nav标签也可以使用justified,但是请注意a标签身上需要添加.nav-item -->
<div class="row">
	<div class="col">
		<nav class="nav nav-pills nav-justified">
			<a class="nav-link nav-item active" href="#">宽度为等宽</a>
			<a class="nav-link nav-item" href="#">布局</a>
		</nav>
	</div>
</div>

在这里插入图片描述

8.弹性布局

  1. flex-column,让子元素在任何尺寸下都变成垂直排列
  2. flex-sm-row,让子元素在>=中等屏幕下横着排列
<div class="row mt-5">
	<div class="col">
		<!-- 让所有尺寸下都是竖着排,当尺寸为小屏及以上的时候让它横着排-->
		<nav class="nav nav-pills nav-justified flex-column flex-sm-row">
			<a class="nav-item nav-link active" href="#">弹性布局</a>
			<a class="nav-item nav-link" href="#">布局</a>
			<a class="nav-item nav-link disabled" href="#">组件</a>
		</nav>
	</div>
</div>

在这里插入图片描述

9.结合下拉菜单

<div class="row mt-5">
	<div class="col">
		<ul class="nav nav-tabs">	<!-- 最后把这个class换成.nav-pills后,它是一个胶囊式的按钮 -->
			<li class="nav-item">
				<a class="nav-link active" href="#">下拉菜单</a>
			</li>
			<li class="nav-item dropdown">
				<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">城市</a>
				<div class="dropdown-menu">
					<a class="dropdown-item" href="#">北京</a>
					<div class="dropdown-divider"></div>
					<a class="dropdown-item" href="#">深圳</a>
				</div>
			</li>
			<li class="nav-item">
				<a class="nav-link" href="#">布局</a>
			</li>
		</ul>
	</div>
</div>

在这里插入图片描述

10.选项卡

<div class="row mt-5">
	<div class="col">
		<!-- <ul class="nav nav-tabs">然后这个class可以换成是.nav-pills
			<li class="nav-item">
				<a class="nav-link active" data-toggle="tab" href="#home">Home</a>
			</li>
			<li class="nav-item">
				<a class="nav-link" data-toggle="tab" href="#profile">Profile</a>
			</li>
			<li class="nav-item">
				<a class="nav-link" data-toggle="tab" href="#contact">Contact</a>
			</li>
		</ul> -->
		<!-- 也可以使用nav标签 -->
		<nav class="nav nav-tabs">
			<a class="nav-item nav-link active" data-toggle="tab" href="#home">Home</a>
			<a class="nav-item nav-link" data-toggle="tab" href="#profile">Profile</a>
			<a class="nav-item nav-link" data-toggle="tab" href="#contact">Contact</a>
		</nav>
		<div class="tab-content">
			<div class="tab-pane fade show active" id="home">
				Raw denim you probably haven't heard of them jean shorts Austin. 
			</div>
			<div class="tab-pane fade" id="profile">
				Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-
			</div>
			<div class="tab-pane fade" id="contact">
				Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out
			</div>
		</div>
	</div>
</div>

在这里插入图片描述

11.垂直形式的选项卡

<div class="row mt-5">
	<div class="col-3">
		<nav class="nav nav-pills flex-column">	<!-- 这里换两个class -->
			<a class="nav-item nav-link active" data-toggle="tab" href="#home1">Home</a>	<!-- id要换 -->
			<a class="nav-item nav-link" data-toggle="tab" href="#profile1">Profile</a>
			<a class="nav-item nav-link" data-toggle="tab" href="#contact1">Contact</a>
		</nav>
	</div>
	<div class="col-9">
		<div class="tab-content">
			<div class="tab-pane fade show active" id="home1">
				Raw denim you probably haven't heard of them jean shorts Austin. 
			</div>
			<div class="tab-pane fade" id="profile1">
				Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-
			</div>
			<div class="tab-pane fade" id="contact1">
				Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out 
			</div>
		</div>
	</div>
</div>

在这里插入图片描述

12.方法与事件

<div class="row mt-5">
	<div class="nav nav-pills " id="myTab">
		<a class="nav-item nav-link active" href="#home2">Home</a>
		<a class="nav-item nav-link" href="#profile2">Profile</a>
		<a class="nav-item nav-link" href="#contact2">Contact</a>
	</div>
	<div class="tab-content">
		<div class="tab-pane fade show active" id="home2">
			Velit aute mollit ipsum ad dolor consectetur nulla officia culpa 
		</div>
		<div class="tab-pane fade" id="profile2">
			Cupidatat quis ad sint excepteur laborum in esse qui. Et excepteur 
		</div>
		<div class="tab-pane fade" id="contact2">
			Ut ut do pariatur aliquip aliqua aliquip exercitation do nostrud commodo
		</div>
	</div>
</div>
<script>
	//这里与列表组是一样的
	//方法
	$('#myTab a:last-child').tab('show'); 	//修改当前激活项

	$('#myTab a').on('click', function (e) {
		e.preventDefault();
		$(this).tab('show');
	});
	//事件
	$('#myTab a:nth-child(2)').on('show.bs.tab', function (e) {
		console.log('该内容要显示了');
	});
	$('#myTab a:nth-child(2)').on('shown.bs.tab', function (e) {
		console.log('该内容已经显示了');
	});
	
	$('#myTab a:nth-child(2)').on('hide.bs.tab', function (e) {
		console.log('该内容要隐藏了');
	});
	$('#myTab a:nth-child(2)').on('hidden.bs.tab', function (e) {
		console.log('该内容已经隐藏了');
	})
</script>

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞羽逐星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值