Cet article parlera de Bootstrapen pratique et présentera la mise en page réactive de Bootstrap. J'espère qu'il sera utile à tout le monde !
La mise en page adaptative signifie qu'un site Web peut être compatible avec plusieurs terminaux, plutôt que de créer une version spécifique pour chaque terminal. Ce concept est né pour résoudre la navigation Internet mobile.
La barre de navigation et le carrousel occupent une forte proportion dans l'entête de la plupart des sites internet, notamment la barre de navigation, qui joue le rôle de plan du site.
Dans une mise en page responsive, la barre de navigation doit afficher différents styles en fonction de la taille de l'écran du terminal.
Explication officielle : La barre de navigation est un composant de base réactif qui sert d'en-tête de page de navigation dans votre application ou votre site Web. Ils se réduisent (et peuvent être ouverts et fermés) sur les appareils mobiles et s'étendent progressivement horizontalement à mesure que la largeur de la fenêtre augmente.
Avant d'utiliser Bootstrap, il était d'usage d'utiliser <ul>
+ <li>
pour construire une barre de navigation. [Recommandations associées : "bootstrap tutoriel<ul>
+ <li>
来构造一个导航栏。【相关推荐:《bootstrap教程》】
<!--代码部分--> <style> .navigation-past{ list-style: none; } .navigation-past>li{ float: left; padding: 8px; } .navigation-past>li>a{ text-decoration: none; color: #000; } .active-past{ background: #E7E7E7; } </style> <ul class="navigation-past"> <!--选中--> <li class="active-past"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li><a href="#">Navigation Fifth</a></li> </ul>
效果图:
使用 Bootstrap 的话,便是在熟悉的这个构造上加上一些修饰即可。首先在 <ul>
外面套一层 <div>
,并加上样式 navbar navbar-default
;然后给里面的 <ul>
加上样式 nav navbar-nav
;最后,给选中的部分加上样式 active
。一个最基本的 Bootstrap 导航便完成了。
<!--代码部分--> <div class="navbar navbar-default" role="navigation"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li><a href="#">Navigation Fifth</a></li> </ul> </div>
效果图:
这里在最外层加了一个 role="navigation"
的属性,这里是 HTML5 的标签属性,目的是让标签语义化,方便屏幕阅读器对其进行识别,同时也是为了方便特殊人群浏览。
在浏览一些官方网站时,首先映入眼帘的是左上角鲜明的公司 LOGO 和夸张的轮播 ,Bootstrap 在导航中预留了 LOGO 的位置。使用方法是在外层 <div>
里面加一个样式 navbar-header
的 <div>
,这个 <div>
内再加一个样式 navbar-brand
的 <a>
元素。
<!--代码部分--> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="#" class="navbar-brand">LOGO</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li><a href="#">Navigation Fifth</a></li> </ul> </div>
效果图:
有的时候一级导航是不够的,需要搭配二级导航展示更多的内容。使用方法:首先在需要加二级导航的 <li>
元素中添加样式 dropdown
,<a>
元素中添加样式 dropdown-toggle
和属性 data-toggle="dropdown"
;然后在 <li>
里面 <a>
下面在放一个 <ul>
+ <li>
组合,<ul>
标签添加样式 dropdown-menu
。
<!--代码部分--> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="#" class="navbar-brand">LOGO</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Navigation Fifth <ul class="dropdown-menu"> <li><a href="#">Sub-Navigation First</a></li> <li><a href="#">Sub-Navigation Second</a></li> <li><a href="#">Sub-Navigation Third</a></li> </ul> </a> </li> </ul> </div>
效果图:
这里又出现新的属性 aria-haspopup="true" aria-expanded="false"
,同样的,这也是 HTML5 新加的属性,这里引用 Segmentfault 社区姜中秋的回答。
aria-haspopup: true
表示点击的时候会出现菜单或是浮动元素;false
表示没有 pop-up
效果。aria-expanded:
表示展开状态。默认为 undefined
, 表示当前展开状态未知。其它可选值:true
表示元素是展开的;false
"]
<!--代码部分--> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Navigation Fifth <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span> <ul class="dropdown-menu"> <li><a href="#">Sub-Navigation First</a></li> <li><a href="#">Sub-Navigation Second</a></li> <li><a href="#">Sub-Navigation Third</a></li> </ul> </a> </li>
Rendu :
🎜Si vous utilisez Bootstrap , ajoutez simplement quelques modifications à la structure familière. Tout d'abord, placez une couche de<div>
à l'extérieur de <ul>
, et ajoutez le style navbar navbar-default
; code><ul> Ajoutez le style nav navbar-nav
et enfin, ajoutez le style active
à la partie sélectionnée. Une navigation de base Bootstrap est terminée. 🎜<!--代码部分--> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <!--以下为固定写法,用到的时候复制粘贴即可--> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navigation-collapse"> <span class="sr-only">Toggle Navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a href="#" class="navbar-brand">LOGO</a> </div> <div class="collapse navbar-collapse" id="navigation-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Navigation Fifth <span class="caret"></span> <ul class="dropdown-menu"> <li><a href="#">Sub-Navigation First</a></li> <li><a href="#">Sub-Navigation Second</a></li> <li><a href="#">Sub-Navigation Third</a></li> </ul> </a> </li> </ul> </div> </div>
role="navigation"
est ajouté à la couche la plus externe. Il s'agit de l'attribut tag de HTML5. Le but est de rendre la balise sémantique et de faciliter la reconnaissance par les lecteurs d'écran. faciliter la navigation pour des groupes spéciaux de personnes. 🎜<div>
avec le style navbar-header
à l'intérieur du <div>
externe. >navbar-brand
. 🎜<!--代码部分--> <div id="my-banner" class="carousel"> <!--放置小圆点,点击可以切换轮播--> <ol class="carousel-indicators"> <!--加上样式active表示默认显示的轮播,data-slide-to="0"属性表示显示轮播的顺序--> <li data-target="#my-banner" data-slide-to="0" class="active"></li> <li data-target="#my-banner" data-slide-to="1"></li> </ol> <!--这里放置轮播显示的图片--> <div class="carousel-inner"> <!--加上样式active表示默认显示的图片--> <div class="item active"> <img src="http://www.mazey.net/img/upload/image/20170712/b1.jpg" alt="轮播"> </div> <div class="item"> <img src="http://www.mazey.net/img/upload/image/20170712/b2.jpg" alt="轮播"> </div> </div> </div>
dropdown
à l'élément <li>
qui doit ajouter une navigation secondaire, puis ajoutez le style à l'élément <a>
élément dropdown-toggle
et l'attribut data-toggle="dropdown"
puis <a>
à l'intérieur de < ;li>
code> Mettez une combinaison <ul>
+ <li>
ci-dessous et ajoutez un style au <ul>
balise menu déroulant
. 🎜<!--代码部分--> <div class="carousel-caption"> <h5>夜里总是下雨</h5> </div>
aria-haspopup="true" aria-expanded="false"
apparaît ici. De même, il s'agit également d'un attribut nouvellement ajouté de HTML5. Voici la réponse de Jiang Zhongqiu dans Segmentfault. communauté. 🎜🎜aria-haspopup : true
signifie qu'un menu ou un élément flottant apparaîtra lorsque vous cliquez dessus ; false
signifie qu'il n'y a pas d'effet pop-up
. aria-expanded :
indique l'état développé. La valeur par défaut est undefined
, ce qui signifie que l'état actuel de l'extension est inconnu. Autres valeurs facultatives : true
indique que l'élément est développé ; false
indique que l'élément n'est pas développé. 🎜🎜Les listes déroulantes que vous voyez habituellement ont généralement un symbole de flèche vers le bas ▼ De même, cet effet est également pris en charge dans Bootstrap, mais vous devez introduire sa propre bibliothèque de polices, l'icône de police Glyphicons. 🎜🎜Introduction officielle : Bootstrap comprend plus de 250 icônes de police de Glyphicon Halflings. Les Glyphicons Halflings sont généralement payants, mais leurs auteurs autorisent Bootstrap à les utiliser gratuitement. Afin d'exprimer votre gratitude, j'espère que vous essaierez d'ajouter un lien convivial vers Glyphicons lors de son utilisation. 🎜
使用方法:新建一个 <span>
元素,然后在里面加上样式 glyphicon glyphicon-triangle-bottom
。
Glyphicons 字体图标使用示例:
<!--代码部分--> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Navigation Fifth <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span> <ul class="dropdown-menu"> <li><a href="#">Sub-Navigation First</a></li> <li><a href="#">Sub-Navigation Second</a></li> <li><a href="#">Sub-Navigation Third</a></li> </ul> </a> </li>
效果图:
注意:
<ul> <li>Glyphicons 字体图标和文本之间添加一个空格,不然会影响样式(padding
)的正确显示。
<li>服务器需要正确添加相应的 MIME 类型,否则加载字体会报 404 错误。
另外这里的箭头也可以使用 Bootstrap 自带的样式 caret
来实现,这里的箭头是用 CSS 实现了,使用方法:<span class="caret"></span>
。
在手机端浏览网站的时候常看到几个横线(≡)组成的导航向导,Bootstrap 作为一个移动设备优先也是支持这样的需求的,响应式导航的使用的方法比较固定,首先在导航标题 <div class="navbar-header">
内加上一段固定写法的代码;然后在需要在小屏时折叠的 <ul>
元素外包一层样式 collapse navbar-collapse
的 <div>
元素,并给这个元素加上任意名称的 ID,例如:id="navigation-collapse"
;最后在响应式按钮 <button>
元素上加上 data-target
属性指向要折叠的内容 id
,例如:data-target="#navigation-collapse"
。
<!--代码部分--> <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <!--以下为固定写法,用到的时候复制粘贴即可--> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navigation-collapse"> <span class="sr-only">Toggle Navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a href="#" class="navbar-brand">LOGO</a> </div> <div class="collapse navbar-collapse" id="navigation-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Navigation First</a></li> <li><a href="#">Navigation Second</a></li> <li><a href="#">Navigation Third</a></li> <li><a href="#">Navigation Fourth</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Navigation Fifth <span class="caret"></span> <ul class="dropdown-menu"> <li><a href="#">Sub-Navigation First</a></li> <li><a href="#">Sub-Navigation Second</a></li> <li><a href="#">Sub-Navigation Third</a></li> </ul> </a> </li> </ul> </div> </div>
效果图:
图片轮播是网站的重要组成部分之一,常用来放活动广告或企业宣传图,有时也叫做“幻灯片”,Bootstrap 中的轮播效果是由 JavaScript 插件 Carousel 来实现的。
轮播的使用方法也是相对固定的,特殊场景按需求修改即可。需要注意的是需要给最外层 <div>
元素加上一个 id
,并在小圆点出指向这个 id
。
<!--代码部分--> <div id="my-banner" class="carousel"> <!--放置小圆点,点击可以切换轮播--> <ol class="carousel-indicators"> <!--加上样式active表示默认显示的轮播,data-slide-to="0"属性表示显示轮播的顺序--> <li data-target="#my-banner" data-slide-to="0" class="active"></li> <li data-target="#my-banner" data-slide-to="1"></li> </ol> <!--这里放置轮播显示的图片--> <div class="carousel-inner"> <!--加上样式active表示默认显示的图片--> <div class="item active"> <img src="http://www.mazey.net/img/upload/image/20170712/b1.jpg" alt="轮播"> </div> <div class="item"> <img src="http://www.mazey.net/img/upload/image/20170712/b2.jpg" alt="轮播"> </div> </div> </div>
效果图:
一个完整的轮播应具有自动播放、点击切换、悬浮停止、外加说明文字功能,别担心,这些 Bootstrap 通通都有!
最外层 <div>
元素添加属性 data-ride="carousel"
和样式 slide
(使轮播播放更平滑),如: