深入理解bootstrap框架之入门准备


Posted in Javascript onOctober 09, 2016

一.bootstrap框架简介

Bootstrap是最流行的前端开发框架。

什么是框架:开发过程的半成品。

bootstrap具有以下重要特性:

(1)完整的CSS样式插件

(2)丰富的预定义样式表

(3)基于jQuery的插件集

(4)灵活的栅格系统

以下将简单介绍对bootstrap可能用到的知识进行梳理。
深入理解bootstrap框架之入门准备

二.新手入门

笔者使用版本是3.3.x

在bootstrap中文官网可以找到以下界面

本书采用预编译的版本进行学习

三. 文件结构

深入理解bootstrap框架之入门准备

生产环境使用bootstrap.min.css和bootstrap.min.js。除了font结构之外,其他文件都可以随意命名。

四. 标准模板

首先是在aptana搭建bootstrap环境。

ctrl+N新建web项目,选择默认项目,命名项目,定义位置,完成。

把下载好的文件夹dist重命名为bootstrap,复制粘贴到项目文件夹下。

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<!--页面编码 -->
<meta charset="UTF-8">
<!--低版本浏览器模拟渲染-->
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<!--响应式布局:UI布局和移动设备一致,缩放大小为原始大小-->
<!--也可以使用下列声明:
<meta name="viewport" content="width=device-width, initialscale=
1, maximumscale=1, user-scalable=no">
意思是强制让文档宽度和设备宽度保持1:1,不允许用户单击放大浏览。注意content属性要用逗号(或分号)隔开,不规范则失效 -->
<meta name="viewport" content="width=deviece-width,initial-scale=1">
<!--支持国产浏览器的高速渲染-->
<meta name="renderer" content="Webkit">
<!--在此进行SEO设置:作者、关键词、描述-->
<meta name="author" content="djtao">
<meta name="keywords" content="djtao">
<meta name="description" content="djtao">
<title>bootstrap基础模板</title>
<!--bootstrap-->
<!--以下两个js插件用于在IE8及以下支持H5元素查询的,如不用可移除 -->
<!--[if lt IE 9]>
<script src="scripts/html5.min.js"></script>
<script src="scripts/respond.min.js"></script>
<![endif]-->
<!--bootstrap样式文件 -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.css">
<!--自定义样式文件 -->
<link rel="stylesheet" href="styles/css.css">
</head>
<body>
<!--基于jQuery的脚本文件 -->
<script src="scripts/jquery.min.js"></script>
<!-- bootstrap的jq插件 -->
<script src="bootstrap/js/bootstrap.min.js"></script>
<!--自定义脚本文件 -->
<script src="scripts/js.js"></script>
</body>
</html>

注意用顺序,自己的样式和脚本必须在后面。

网上引用cdn是

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

五. CSS基本语法

1.优先级

和原生CSS一样。

#xxx>.xxx>xxx

2.选择器

(1)属性选择器

深入理解bootstrap框架之入门准备

(2)子选择器

>号

(3)兄弟选择器

临近选择器用+号表示,比如说在一个nav-ul-li结构的导航条里,欲设置两个li之间的外边距。

nav>li+li{
margin-left:10px;
}

指定元素后边的节点用~。比如说查找article元素内h1后面所有的p元素

article h1~p{font-size:20px}

3. 伪类选择器

bootstrap常用的伪类无外乎这几个

深入理解bootstrap框架之入门准备

4. display属性

display很好用,但是不能乱用。

深入理解bootstrap框架之入门准备

5.媒询

媒询是bootstrap响应式布局核心的要素,但主要用到的还是min,max和and

@media(max-width: 767px){
/*在小于768像素的屏幕中,这里样式生效*/
}
@media(max-width: 767px) and (max-width: 991px){
/*在768-991像素区间的屏幕中,这里样式生效*/
}
@media(min-width: 1200px){
/*在大于等于1200像素的屏幕中,这里样式生效*/
}

同理还可以用到高度。

6.相关JavaScript语法梳理

(1)与和或运算符(&&,||)

(2)立即调用函数

推荐使用这个

(function(){
do somthing
}() )

表示马上调用。

(3)原型

BT中的js插件,都是基于面向对象的方法创建。

简单举个栗子,定义加减法运算

var decimalDigits = 2,
tax = 5;
function add(x, y) {
return x + y;
}
function subtract(x, y) {
return x - y;
}
//alert(add(1, 3));

改写成一个加减计算函数对象

var Calculator = function (decimalDigits, tax) {
this.decimalDigits = decimalDigits;
this.tax = tax;
};

然后,通过给Calculator对象的prototype属性赋值对象字面量来设定Calculator对象的原型。

Calculator.prototype = {
add: function (x, y) {
return x + y;
},
subtract: function (x, y) {
return x - y;
}
};
//alert((new Calculator()).add(1, 3));

7.jQuery知识梳理

(1)事件绑定

jQuery常用的绑定语法有on/off、bind/unbind。比如说

$('div').on(click,function(){...});
$('div').off(click,function(){...});

注:bind()函数是jQuery 1.7之前或更早版本采用的一个用来绑定事件处理程序的函数;on()函数是jQuery 1.7版本提供的首选的用来绑定事件处理程序的函数;从1.7版本的介绍以及参数描述来看,其实这两个函数基本上用法一致,但可能在早期的版本中,bind()函数一次只能为标签对象绑定一个事件的处理程序,而on()函数则可以一次为多个不同的事件绑定处理程序。

在bootstrap方法中的绑定类似但是思想不同,

$(document).on('click.bs.carosel.data.api','div',function(){...})

利用的是冒泡的机制,选择document的div。提高了性能。

(2)命名空间

调试时,事件后面加上一段字符串比如click.djtao,再用trigger方法触发时,就不会影响原本的点击事件。

(3)$.data()

搜集指定元素上所有以data为前缀的自定义属性,合并为一个字面量。比如说:

<div id="abc" data-role="aaa" data-toggle="toggle" data-xxx="djtao"></div>

我要收集role的值

$('#abc').data('role')

如果不带参数,则等于收集并声明了一个json。var value={role:'aaa',toggle:'toggle',xxx:'djtao'}

8.H5的辅助属性

可以支持盲人等人群阅读。通常以arial为前缀统称arial属性。

以上所述是小编给大家介绍的深入理解bootstrap框架之入门准备,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 支持链式调用的异步调用框架Async.Operation
Aug 04 Javascript
基于JQUERY的多级联动代码
Jan 24 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
JavaScript运行原理分析
Feb 09 Javascript
对layui中table组件工具栏的使用详解
Sep 19 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
微信小程序 http请求详细介绍
Oct 09 #Javascript
微信小程序 Flex布局详解
Oct 09 #Javascript
JavaScript实现Java中Map容器的方法
Oct 09 #Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 #Javascript
JS中this上下文对象使用方式
Oct 09 #Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
Oct 09 #Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 #Javascript
You might like
paypal即时到账php实现代码
2010/11/28 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
永不消失的title提示代码
2007/02/15 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
python利用OpenCV2实现人脸检测
2020/04/16 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python实现名片管理系统项目
2019/04/26 Python
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
早会开场白台词大全
2015/06/01 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
使用feign服务调用添加Header参数
2021/06/23 Java/Android
sql server 累计求和实现代码
2022/02/28 SQL Server
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript