Bootstrap-frame

Bootstrap基础知识 ============= 1.1基本概念 bootstrap是什么? bootstrap是一个HTML、CSS和JavsScript的一个前端框架,应用非常广泛。用于响应式、移动设备优先的web项目。 1.2 安装 这里也就不做多解释了。 1.3 基本模板 由于bootstrap是基于jQuery,所以在引用bootstrap.js之前一定要先引用jQuery.js 2 Bootstrap CSS 2.1概述 前段开发人员习惯使用全局CSS文件,bootstrap也是如此。
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
2.2栅格系统 bootstrap的响应式解决方案重点就是栅格系统。所谓的栅格系统就是将整个屏幕划分成若干个(一般是12)等宽的列,bootstrap中定义了一系列的预定义类用于实现栅格系统。 案例:
    <style>
        div{
            background-color: skyblue;
            border: 1px solid blueviolet;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-sm-2">
            .col-ma-2
        </div>
        <div class="col-sm-2">
            .col-ma-2
        </div>
        <div class="col-sm-2">
            .col-ma-2
        </div>
        <div class="col-md-2">
            .col-ma-2
        </div>
        <div class="col-md-2">
            .col-ma-2
        </div>
        <div class="col-md-2">
            .col-ma-2
        </div>
    </div>
    <div class="row">
        <div class="col-sm-6">
            .col-sm-6
        </div>
        <div class="col-sm-6">
            .col-sm-6
        </div>
    </div>
</div>
</body>

显示结果会随着浏览器尺寸(实际是根据设备的不同)自动调整布局。当屏幕尺寸小于768是纵向排列
这里写图片描述
而当屏幕尺寸超过768时显示为横向布局。
这里写图片描述
查看一下相关类的定义
(1)container:

.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
在bootstrap中定义了容器的内外边距,同时根据屏幕尺寸的不同设置不同的宽度。
.row {
  margin-right: -15px;
  margin-left: -15px;
}
通过设置负值的外边距,抵消了容器的内边距。
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }

列预定义类的命名规则:
(1)col表示列的含义
(2)sm是表示屏幕尺寸类型的一种
这里写图片描述
(3)最后的数字表示占整个屏幕容器宽度的十二分之一的倍数

总结一下响应式布局的原理:
(1)容器的宽度是和屏幕尺寸相关,通过媒体查询来实现
(2)当屏幕尺寸达到大小要求时,可以使用特定的列的预定义类(如col-md-2)。
(3)列定义成靠左浮动,且宽度是利用百分比来设置的。

<div class="container">
     <div class="row">
         <div class="col-xs-6 col-sm-8">col1</div>
         <div class="col-xs-6 col-sm-4">col2</div>
     </div>
</div>

给列添加了多个类,可以控制在不同的尺寸下比例的自适应。
当尺寸小于768时,两列的宽度是1:1,实际上是col-xs-6在起作用;
这里写图片描述
而当尺寸大小大于768时,列宽比为2:1,也就是col-sm-4在起作用。
这里写图片描述

案例:

<div class="container">
     <div class="row">
         <div class="col-sm-5">col1</div>
         <div class="col-sm-5">col2</div>
         <div class="col-sm-5">col3</div>
     </div>
</div>

当一行的各列超过总宽度时,bootstrap会将超过的部分放在下一行。
这里写图片描述
案例:

<div class="container-fluid">
     <div class="row">
         <div class="col-xs-6">col1</div>
         <div class="col-xs-6">col2</div>
     </div>
</div>
container-fluid和container类的区别是container是定义了固定的宽度,而container-fluid没有定义宽度,所以会随着父容器的变化而变化。 案例:偏移
<div class="container">
     <div class="row">
         <div class="col-xs-6">col1</div>
         <div class="col-xs-3 col-xs-offset-3">col2</div>
     </div>
</div>

col-xs-offset-3是表示偏移3个单位
这里写图片描述

案例:嵌套

<div class="container">
     <div class="row">
         <div class="col-xs-6">
             col1
             <div class="row">
                 <div class="col-xs-8">col1-1</div>
                 <div class="col-xs-4">col1-2</div>
             </div>
             <div class="row">
                 <div class="col-xs-8">col2-1</div>
                 <div class="col-xs-4">col2-2</div>
             </div>
         </div>
         <div class="col-xs-6">col2</div>
     </div>
</div>

所谓的嵌套,是在某个栅格中再安排一个或多个row
这里写图片描述

案例:后推、前拉单元

<div class="container">
     <div class="row">
         <div class="col-xs-6 col-xs-push-6">col1</div>
         <div class="col-xs-3 col-xs-pull-6">col2</div>
     </div>
</div>

这里写图片描述
col-xs-push-6表示后推6个单元;
col-xs-pull-6表示前拉6个单元。

案例:表单

<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>
    <div class="form-group">
        <label for="exampleInputFile">File input</label>
        <input type="file" id="exampleInputFile">
        <p class="help-block">Example block-level help text here.</p>
    </div>
    <div class="checkbox">
        <label>
            <input type="checkbox"> Check me out
        </label>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
</form>

在客户端的输入框,都是占整个屏幕宽的100%,所以在pc端上就占满了整个屏宽。
这里写图片描述
选中图片后:这里写图片描述
选中文件后:这里写图片描述

不要将表单组直接和输入框组混合使用。建议将输入框组嵌套到表单组中使用。

案例:内联表单

<form class="form-inline">
    <div class="form-group">
        <label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label>
        <div class="input-group">
            <div class="input-group-addon">$</div>
            <input type="text" class="form-control" id="exampleInputAmount" placeholder="Amount">
            <div class="input-group-addon">.00</div>
        </div>
    </div>
    <button type="submit" class="btn btn-primary">Transfer cash</button>
</form>

这里写图片描述

3 Bootstrap组件
播放:class=”glyphicon glyphicon-play”

<button class="btn btn-default">
    <span class="glyphicon glyphicon-play"></span>
</button>
播放、暂停、停止:btn-group-lg/btn-group-sm,可以设置大小
<div class="btn-group btn-group-lg">
    <button class="btn btn-default">
        <span class="glyphicon glyphicon-play"></span>
    </button>
    <button class="btn btn-default">
        <span class="glyphicon glyphicon-pause"></span>
    </button>
    <button class="btn btn-default">
        <span class="glyphicon glyphicon-stop"></span>
    </button>
</div>

这里写图片描述
下拉:span标签里为插入的下拉符号
上拉列表只需修改最外面的div的class的dropdown改为dropup

<div class="dropdown">
    <button class="btn btn-default" data-toggle="dropdown">
        编程语言
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li class="dropdown-header">一般语言</li>
        <li><a href="">C++</a></li>
        <li class="disable"><a href="">Java</a></li>
        <li class="divider"></li>
        <li class="dropdown-header">脚本语言</li>
        <li><a href="">JavaScript</li>
        <li><a href="">CSS3</a></li>
    </ul>
</div>

这里写图片描述
输入框组:基本实例

  <div class="input-group">
    <span class="input-group-addon">$</span>
    <input type="text" class="form-control"/>
    <span class="input-group-addon">.00</span>
</div>
<div class="input-group">
    <input type="text" class="form-control"/>
    <span class="input-group-btn">
        <button class="btn btn-default">
            <span class="glyphicon glyphicon-search"></span>
        </button>
    </span>
</div>

这里写图片描述

4 Bootstrap插件
调用对话框的两种方式:
(1)属性控制
(2)js控制。设计一个点击事件
还可以设置data-backdrop=”false”,这个属性是让点击“同意”按钮无效

<body>
<!--调用对话框:属性控制-->
<button class="btn btn-warning" data-toggle="modal" data-target="#dialog1">用我的食欲赞同</button>
<!--调用对话框:js控制-->
<button class="btn btn-warning" id="btn_delete">全票通过</button>
<!--创建对话框-->
<div class="modal" id="dialog1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">
                    大神老鼠的下场
                </h4>
            </div>
            <div class="modal-body">
                (1)吃了(蒸、炸、煎、煮、烤)<br>
                (2)放生 == 自生自灭
            </div>
            <div class="modal-footer">
                <button class="btn btn-default">同意</button>
            </div>
        </div>
    </div>
</div>
<script>
    $("#btn_delete").click(function(){
        $("#dialog1").modal("show");
    });
</script>

结果如下:
这里写图片描述

概述 定义和用法 frameset 元素可定义一个框架集。它被用来组织多个窗口(框架)。每个框架存有独立的文档。在其最简单的应用中,frameset 元素仅仅会规定在框架集中存在多少列或多少行。您必须使用 cols 或 rows 属性。[1] 类别 HTML之中的元素之一。 作用 其作用是指定一个框架集,用于组织多个框架和嵌套框架集。 FRAMESET 元素是 FRAME 元素的容器。HTML 文档可包含 FRAMESET 元素或 BODY 元素之一,而不能同时包含两者。 如果用户在框架中打开了 Web 文件夹后单击了 Web 文件夹中的内容,那么被单击的文件或文件夹将取代整个窗口。例如,假设页面包含两个框架,一个框架指向 http://www.microsoft.com 第二个框架指向网络驱动器。如果用户单击第二个框架中的文件或文件夹,该框架将活动整个窗口的控制,包括第一个框架。对于浏览器不能处理的文件类型,如 *.txt 文件,将会打开对应的应用程序窗口。 尽管 Web 文件夹是文件系统层次的一部分,但是该技术并不总是表示文件系统中的实际内容。一个典型的例子就是网络邻居。 使用范围 此元素在 Microsoft® Internet Explorer 3.0 的 HTML 中可用,在 Internet Explorer 4.0 的脚本中可用。 注意:不能与 <frameset></frameset> 标签一起使用 <body></body> 标签。不过,如果需要为不支持框架的浏览器添加一个 <noframes> 标签,请务必将此标签放置在 <body></body> 标签中! 编辑本段示例 下面的例子使用了 FRAMESET 元素来定义页面中的三列矩形。 <FRAMESET COLS="25%, 50%, *"> <FRAME SRC="contents.htm"> <FRAME SRC="info.htm"> <FRAME SCROLLING="NO" SRC="graphic.htm"> </FRAMESET> COLS="25%,* " 垂直切割画面(如分左右两个画面),接受整数值、百分数, * 则代表占用馀下空 间。数值的个数代表分成的视窗数目且以逗号分隔。例如 COLS="30,* ,50%" 可以切成三个视窗,第一个视窗是 30 pixels 的宽度,为一绝对分割,第二个视窗是当分配完第一及第三个视窗后剩下的空间,第三个视窗则占整个画面的 50% 宽度为一相对分割。您可自己调整数字。 ROWS="120,* " 就是横向切割,将画面上下分开,数值设定同上。唯 COLS 与 ROWS 两参数尽量不要同在一个 <FRAMESET> 标记中,因 Netacape 偶然不能显示这类形的框架,尽量采用多重分割。 <FRAME> 参数设定: 例子:<frame name="top" src="info.html" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0" noresize framespacing="6" bordercolor="#0000FF"> name="top" 设定这个框窗的名称,这样才能指定框架来作连结,必须但任意命名。 src="info.html" 设定此框窗中要显示的网页档案名称,每个框窗一定要对应着一个网页档案。你可使用绝对路径或相对路径,有关此两者详见於【连结进阶】。 marginwidth=5 表示框架宽度部份边缘所保留的空间。 marginheight=5 表示框架高度部份边缘所保留的空间。 scrolling="Auto" 设定是否要显示卷轴,YES 表示要显示卷轴,NO 表示无论如何都不要显示, AUTO是视情况显示。 frameborder=0 设定框架的边框,其值只有 0 和 1 , 0 表示不要边框, 1 表示要显示边框。(避 免使用 yes 或 no ) framespacing="6" 表示框架框架间的保留空白的距离。 bordercolor="#008000" 设定框架的边框颜色。颜色值请参考【HTML 剖析】。 另外: border="0" 设定框架的边框厚度,以 pixels 为单位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值