如何基于bootstrap创建一个响应式的导航条

如何基于bootstrap创建一个响应式的导航条,第1张

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

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

基本的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的高度并将其背景颜色设置为白色,你所看到的效果会是这样:

标题和导航

现在我们已经有一个地方可以添加额外的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:

小于979px:

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

1. 响应式导航栏,就是右上角的三道杠,点一下下方出现隐藏的导航栏。如果屏幕够大就显示所有的导航选项,如果屏幕小比如手机,就显示部分,剩下的放到三道杠里隐藏。

2. 外面套一个大的div,其实建议用nav标签,语义化一点呗!类名是navbar,说明这是个导航条,如果不带,后面的内容会移上来。navbar-default这是个皮肤,默认的那种,不带难看。

3. 里面分两部分,首先是navbar-header,这个是主页选项专用,里面放个navbar-brand显示字体会大一点。下面呢个button就是右上角的三道杠按钮,里面的类navbar-toggle是给这个button加个样式,让他处于导航条的右边,不加的话是呢个熊样你可以试试。data-toggle="collapse"跟下拉菜单data-toggle="dropdown"一个尿性,表明这个是三条杠导航。data-target="#shownav"指定点击三道杠后d出啥玩意,跟幻灯片轮播里的指定哪个div里的图片,作用相同。后面的三个span就是画了三道杠。这样这个三道杠button就做好了,真特娘的累!

4. 继续,下面是包含需要隐藏的导航选项的ul,id="shownav"就是给上面的data-target用的,表示点一下三道杠出现这个ul。nav navbarnav是导航条的类,不想解释了。。collapse类是指这个ul是默认隐藏的,在点三道杠之前别特么给我出来!navbar-collapse是屏幕大的时候需要显示这些隐藏的导航选项,如果不加,大屏的时候就不显示了,只能小屏的时候点三道杠才显示。

5. ok,这样整个响应式导航就做完了。

我也遇到了同样的问题,查了好多资料,知道了按钮在添加动画之后的位置变化了,所以你添加的点击事件没响应,其实不然,如果你点击按钮刚开始的位置,是有这个点击响应的。我的解决方案是:在按钮动画结束的位置添加背景透明的按钮,给透明按钮添加响应事件即可,希望可以帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11563309.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存