吃饭用的前端

Bootstrap框架

2019-03-25  本文已影响0人  CNLISIYIII

css框架:对css相同功能的整体封装,方便使用。

常见css框架:Amaze UI;Framework7;Bootstrap


(一)Bootstrap

用于开发响应式布局、移动设备优先的web项目。

1.下载安装

两种版本:1)编译且压缩后的CSS、Js和字体文件,不包含文档和源码;

                  2)less、Js和字体文件的源码,带有文档。

(此处下载了Bootstrap3.3.7版本)

安装:

<!DOCTYPE html>

<html lang="zh-CN">

  <head>

    <meta charset="utf-8">

    <!--兼容IE-->

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <!--视口设置-->

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- 上述3个meta标签必须放在最前面,任何其他内容都必须跟随其后! -->

    <!--可以让部分国产浏览器默认采用高速模式渲染页面-->

    <meta name="renderer" content="webkit">

    <title>Bootstrap 101 Template</title>

    <!-- 引入Bootstrap样式文件 -->

    <link href="css/bootstrap.min.css" rel="stylesheet">

  </head>

  <body>

    <h1>你好,世界!</h1>

  </body>

</html>

(二)响应式控制类

使用以下类(可单独使用,可结合使用),针对不同屏幕尺寸,隐藏或显示页面内容。

<!--表示该标签只有在超小屏幕下可见,其他情况隐藏-->

<h1 class="visible-xs">hello</h1>

<!--表示该标签只有在超小屏幕下隐藏,其他情况可见--> 

<h1 class="hidden-xs">hello</h1>

前提是一定要引入框架文件bootstrap.min.css或css/bootstrap.css。

(三)栅格系统

栅格系统实现响应式布局,必须在bootstrap框架中。

如果不用栅格系统要实现响应布局,手动写媒体查询代码实现。

使用:必须保证上级元素的类名为:container(固定宽度,根据设备不一样设置一个固定宽度)或 container-fluid(100%宽度,始终要和设备一样宽)。

1)栅格参数的使用:

col-xs-值: 在超小屏幕下占多少列→ 超小屏幕 手机 (<768px)

col-sm-值:  在小屏幕下占多少列(平板)→ 小屏幕 平板 (≥768px)

col-md-值:  在中等屏幕下占多少列→ 中等屏幕 桌面显示器 (≥992px)

col-lg-值:  在大屏幕下占多少列→ 大屏幕 大桌面显示器 (≥1200px)

最多12列。

代码举栗:

<!-- 导航栏 -->

<div class="container">

        <nav>

            <ul class="list-unstyled">

                <li class="col-md-3 cod-sm-4">我是导航1</li>

                <li class="col-md-3 cod-sm-4">我是导航2</li>

                <li class="col-md-3 cod-sm-4">我是导航3</li>

                <!-- 超出部分会在下一行展示 -->

                <li class="col-md-3 cod-sm-4 hidden-sm">我是导航4</li>

            </ul>

        </nav>

    </div>

<style>

        li {

            border: 1px solid red;

            line-height: 60px;

        }

    </style>

若 li 的类 class="col-md-3" 改成 class="col-md-4" 的话,4个col-md-4超过12列,一行只能显示3个格,第4个会挤到下一行。

栅格系统列的本质就是浮动实现的。

2)清除浮动的使用:

<style>

        li {

            border: 1px solid red;

            line-height: 60px;

        }

        p {

            background: red;

            height: 20px;

        }

    </style>

<div class="container">

        <!-- 在栅格中并排的元素,底层是用浮动实现的(float: left),会有脱标影响,

            所以要清除浮动: 用类 clearfix -->

      <ul class="list-unstyled clearfix">

          <li class="col-md-4">li1</li>

          <li class="col-md-4">li2</li>

      </ul>

      <p></p>

    </div>

3)栅格系统的列偏移

<style>

        li {

            border: 1px solid red;

            line-height: 60px;

        }

    </style>

<div class="container">

      <ul class="list-unstyled clearfix">

          <!-- 中屏幕下右偏移两个列 -->

          <li class="col-md-4 col-md-offset-2">li1</li>

          <li class="col-md-4">li2</li>

      </ul>

    </div>

12列不能被格子整除时,偏移剩余列的一半,就可以居中。

4)嵌套列

<li class="col-md-3  text-center">我是导航1

                    <a href="#" class="col-md-6">登录</a>

                    <a href="#" class="col-md-6">注册</a>

</li>

列可以进行嵌套。

5)列排序

col-md-push-数字 后推列

col-md-pull-数字 前推列

(四)排版标签

<mark>标签:高亮显示

<small>小号文本标签</small> 或者 .small类名可以实现相同效果

1)列表

去掉列表的默认样式: .list-unstyled

  <ul class="list-unstyled">

    <li></li>

  </ul>

列表项在一行上显示: .list-inline

  <ul class="list-inline">

      <li></li>

      <li></li>

  </ul>

实现水平的自定义列表: .dl-horizontal

<dl class="dl-horizontal">

    <dt></dt>

    <dd></dd>

</dl>

2)大小写转换

.text-lowercase:将字母转为小写

.text-uppercase:将字母转为大写

.text-capitalize:首字母大写

3)表格

给<table>设置

.table:表格table类

.table-striped:隔行变色

.table-bordered:表格边框

.table-hover:鼠标放上后的样式

设置表格状态。给<tr>设置:

<tr class="active">...</tr>

<tr class="success">...</tr>

<tr class="warning">...</tr>

<tr class="danger">...</tr>

<tr class="info">...</tr>

4)表单

基本实例:

单独的表单空间会被自动赋予一些全局样式。所有设置了 .form-control 类的 <input>、<textarea> 和 <select> 元素都将被默认设置宽度属性为 width: 100%;。 将 label 元素和前面提到的控件包裹在 .form-group 中可以获得最好的排列。

<form>

  <div class="form-group">

    <label for="exampleInputEmail1">Email address</label>

    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">

  </div>

  <div class="form-group">

    <label for="exampleInputPassword1">Password</label>

    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">

  </div>

</form>

内联表单:

为 <form> 元素添加 .form-inline 类可使其内容左对齐并且表现为 inline-block 级别的控件。

<form class="form-inline">

  <div class="form-group">

    <label for="exampleInputName2">Name</label>

    <input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe">

  </div>

  <div class="form-group">

    <label for="exampleInputEmail2">Email</label>

    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">

  </div>

  <button type="submit" class="btn btn-default">Send invitation</button>

</form>

5)按钮

<button type="button" class="btn btn-default">(默认样式)Default</button>

<button type="button" class="btn btn-primary">(首选项)Primary</button>

<button type="button" class="btn btn-success">(成功)Success</button>

<button type="button" class="btn btn-danger">(危险)Danger</button>

上一篇 下一篇

猜你喜欢

热点阅读