深入理解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 相关文章推荐
RGB颜色值转HTML十六进制(HEX)代码的JS函数
Apr 25 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
javascript字母大小写转换的4个函数详解
May 09 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
Nov 03 Javascript
Seajs源码详解分析
Apr 02 Javascript
Vue实现固定定位图标滑动隐藏效果
May 30 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 Javascript
微信小程序 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
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
JQuery 学习技巧总结
2010/05/21 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python类的用法实例浅析
2015/05/27 Python
python web基础之加载静态文件实例
2018/03/20 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
学生生病请假条范文
2014/02/16 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
老公爱的承诺书
2014/03/31 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
python中使用redis用法详解
2022/12/24 Redis