bootstrap学习记录

小技巧

  • 如果是input标签,则一般放在label标签内
  • checkbox表示多选框,radio表示单选框

基本知识

  • container-fluid和container是bootstrap中的两种不同类型的外层容器,
    .container属性用于固定宽度并支持响应式布局的容器
    _.container-fluid属性用于100%宽度,占据全部视口的容器
  • bootsrap中有一个class属性交租well,它的作用是为设定的列创造出一种视觉上的深度感

按钮

  • btn属性:凡是按钮均需要添加btn属性
  • btn-block属性:表示该按钮为块级元素
  • btn-primary属性:表示该按钮的颜色为应用的主要颜色
  • btn-info属性:添加了该属性的按钮颜色为浅蓝色,表示用户可能会采取的操作
  • btn-danger属性:红色按钮,表示该操作具有“破坏性”。
  • btn-default属性:按钮默认属性

bootstrap的响应式网格布局

在bootstrap中对四种屏幕宽度进行媒体查询,

/* 超小屏幕(手机,小于 768px) /
/
没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) /
/
小屏幕(平板,大于等于 768px) /
@media (min-width: @screen-sm-min) { ... }
/
中等屏幕(桌面显示器,大于等于 992px) /
@media (min-width: @screen-md-min) { ... }
/
大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }

  • 用途:可轻松实现将多个元素放入一行并指定各个元素的相对宽度的需求。
  • 注意:bootstrap的网格一行默认是由12个小单元格组成,一行中的元素通过一个带有row属性的div元素包裹,其内部的子元素通过添加col-md-*来指定宽度,*表示数字,md表示该页面在中等屏幕的设备上显示,该值可以根据实际设备的屏幕大小调整
  • 使用:实例:用于手机、平板、桌面
Paste_Image.png

代码如下:

<div class="row">
  <div class="col-xs-12 col-sm-6 col-md-8 column-1">.col-xs-12 .col-sm-6 .col-md-8</div>
  <div class="col-xs-6 col-md-4 column-2">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
  <!-- Optional: clear the XS cols if their content doesn't match in height -->
  <div class="clearfix visible-xs-block"></div>
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
</div>

以上代码中以column1为例说明:当为超小屏幕时,column-1占用12列,当为小屏幕时,column-1占用6列,当为中等屏幕时占用8列,这样便实现了根据屏幕的大小来调整宽度

Font Awesome 图标库

  • 一般通过i标签添加,如为一个按钮添加一个图标:
    <button class="btn btn-block btn-primary"><i class="fa fa-thumbs-up"></i> Like</button>
  • 图标类型
    删除意义的图标: <i class = "fa fa-trash></i>"
    点赞意义的图标: <i class = "fa fa-thumbs-up"></i>
    提交意义的图标: <i class = "fa fa-paper-plane"></i>

表单控件

  • 输入框input:在bootstrap中使用input是也必须添加type类型,如果没有指定type类型,将无法得到正确的样式;同时,为了让控件在各种表单风格中样式不出错,需要添加类名"form-control"
    如: <input type="text" class="form-control" placeholder="Enter User Name">
  • 下拉选择框select控件:
  • 文本域textarea控件:

导航元素

  • 表格导航菜单:
    <ul class="nav nav-tabs"></ul>
  • 胶囊式导航:
    <ul class="nav nav-pills"></ul>
  • 垂直的胶囊导航:
    <ul class="nav nav-pills nav-stacked"></ul>
  • 两端对齐的导航:
    <ul class="nav nav-tabs nav-justified"></ul>
    主要起作用的的是nav-justified类名
  • 使导航菜单中的一个链接项禁用:hover状态,对该项添加disabled
    <ul class="nav nav-tabs">
    <li><a href="#">WEB</a></li>
    <li><a href="#">IOS</a></li>
    <li class="disabled"><a href="#">JAVA</a></li>
    <li><a href="#">Andrion</a></li>
    </ul>
  • 带有下拉菜单的胶囊
    <h3>导航下拉菜单:</h3>
    <ul class="nav nav-pills">
    <li class = "active"><a href="#">HOME</a></li>
    <li><a href="#">JAVA</a></li>
    <li><a href="#">IOS</a></li>
    <li class="dropdown"> //该 li 标签是下拉菜单的实现
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
    WEB <span class="caret"></span></a>
    <ul class="dropdown-menu">
    <li><a href="#">HTML</a></li>
    <li><a href="#">CSS</a></li>
    <li><a href="#">JAVASCRIPT</a></li>
    <li class="divider"></li>
    <li><a href="#">JQUERY</a></li>
    </ul>
    </li>
    <li><a href="#">ANDRION</a></li>
    </ul>

导航栏

  • 默认的导航栏
    创建一个默认的导航栏的步骤如下:

    1. <nav>标签添加 class.navbar、navbar-default属性,并添加 role="navigation,role属性有利于增加可访问性
    2. <div>元素添加class.navbar-header,内部包含带有class.navbar-branda元素,会让文本看起来大一号
      代码如下:
      <h3>默认的导航栏</h3>
      <nav class="navbar navbar-default" role="navigation">
      <div class="container-fluid">
      <div class="navbar-header">
      <a href="#" class="navbar-brand">Brand</a>
      </div>
      <div>
      <ul class="nav navbar-nav">
      <li class="active"><a href="#">IOS</a></li>
      <li><a href="#">SVN</a></li>
      <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">JAVA
      <b class="caret"></b></a>
      <ul class="dropdown-menu">
      <li><a href="#">jmeter</a></li>
      <li><a href="#">EJB</a></li>
      <li><a href="#">Jasper Report</a></li>
      <li class="divider"></li>
      <li><a href="#">分离的链接</a></li>
      <li class="divider"></li>
      <li><a href="#">另一个分离的链接</a></li>
      </ul>
      </li>
      </ul>
      </div>
      </div>
      </nav>
  • 响应式的导航栏

    1. 为了给导航栏添加响应式特性,要折叠的内容必须包裹在带有class.collapse、 .navbar-collapse的<div>中
    2. 折叠起来的导航栏实际上是一个带有class.navbar-toggle以及两个data-元素的按钮
    3. 默认的导航与响应式导航主要在与1和2两点中
      代码如下:
      <h3>响应式的导航栏</h3>
      <nav class="navbar navbar-default" role="navigation">
      <div class="container-fluid">
      <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">
      <span class="sr-only">切换导航</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      </button>
      <a href="#" class="navbar-brand">菜鸟教程</a>
      </div>
      <div class="collapse navbar-collapse" id="example-navbar-collapse">
      <ul class="nav navbar-nav">
      <li class="active"><a href="#">IOS</a></li>
      <li><a href="#">SVN</a></li>
      <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">
      Java <b class="caret"></b>
      </a>
      <ul class="dropdown-menu">
      <li><a href="#">jmeter</a></li>
      <li><a href="#">EJB</a></li>
      <li><a href="#">Jasper Report</a></li>
      <li class="divider"></li>
      <li><a href="#">分离的链接</a></li>
      <li class="divider"></li>
      <li><a href="#">另一个分离的链接</a></li>
      </ul>
      </li>
      </ul>
      </div>
      </div>
      </nav>
  • bootstrap中的图标
    添加方法:
    <ul class="nav navbar-nav navbar-right">
    <li><a href="#"><span class="glyphicon glyphicon-user"></span> 注册</a></li>
    <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> 登录</a></li>
    </ul>

    1. 添加**class.glyphicon **, class.glyphicon-user和class.glyphicon-log-in表示需要使用ICON图标名,具体可以查看各个图标对应的类名,网址:bootstrap图标
  • 导航栏的定位

    1. 将导航栏固定在顶部:给nav标签添加class.navbar-fixed-top

      注意:为了防止导航栏与页面主题中的其他内容的顶部相交错,请向<body>标签添加至少50像素的内边距 (padding),内边距的值可以根据需要进行调整

    2. 将导航栏固定在底部:给nav标签添加class.navbar-fixed-bottom

    3. 使导航栏随着页面一起滚动:给nav标签添加.navbar-static-top,使用该class,不要求向<body>添加内边距

  • 倒置的导航栏
    创建一个带有黑色背景白色文本的倒置的导航栏,只需要简单的向.navbar class添加.navbar-inverse class即可

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

推荐阅读更多精彩内容