Bootstrap实用手册

2020-11-26 16:20:15 浏览数 (1)

1. 什么是响应式网页

Responsive Web Page,响应式网页/自适应网页,即一个页面既可以在 PC 浏览器中浏览,也可以在手机、平板中浏览,并且配合不同设备有不同的响应结果,响应式网页的特点:

(1). 页面上的图片和文字要随着屏幕尺寸发生改变

(2). 页面的布局随着屏幕尺寸而发生改变

2. 视口 - viewport

IOS 中的 Safari 最早引入的概念

视口:移动设备中,浏览器里显示网页的一块区域(PC 端会忽略)

对于响应式网页,设置视口的信息:

(1). 视口的宽度:要与设备宽度一致

(2). 视口的缩放倍率:设置为 1,即不缩放

(3). 视口的手动缩放:不允许缩放网页

在 HTML 中指定视口信息:(移动端必备)

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

①. width:视口的宽度

A. device-width

设备的宽度

B. 具体数值

②. initial-scale

视口的初始缩放倍率

A. 缩放倍数

B. 原始大小

③. user-scalable

是否允许视口手动缩放

A. 1 /yes

B. 0 / no

3. 如何编写响应式网页 (重点)

(1). 必须声明视口(已解决)

(2). 文字使用相对尺寸(em,rem),尽量不用绝对尺寸(px)

CSS 中的 1px 并不代表真实物理设备的 1px,如:iPhone4 以后,屏幕为 Retina 屏幕,屏幕大小没有变化,但分辨率提升一倍,屏幕 320 * 480,分辨率:640 * 960

em : 父元素字体大小倍数

rem : 根元素(html)字体大小倍数

(3). 容器元素使用相对尺寸(%,auto),尽量不用绝对尺寸(px)

(4). 图片使用相对尺寸(%,auto),尽量不用绝对尺寸(px)

(5). 页面元素使用流式布局,流式布局特点:

①. 元素默认靠向容器的左上方

②. 横向排列,排列不下则换行

方法:

①:float

②:display:inline-block

(6). 响应式网页都要使用 CSS3 Media Query 技术 - 最重要,如下所示:

①. 浏览器宽度 w < 768,背景色 红色

②. 浏览器宽度 768<= w <=991 背景色 绿色

③. 浏览器宽度 w > 991 背景色 粉色

4. CSS3 Media Query 可以根据不同的媒体类型以及特性执行不同的 CSS

@media MEDIA-TYPE and | not | only (MEDIA-FEATURE)

(1). Media :媒体,指浏览网页设备的类型

如:screen(PC/Pad/Phone)、tv、tty

@media 的用法的用法如下:

①. 有选择性的执行某个外部 CSS 文件

<link el="" href="" media="screen">

<link rel="" href="" media="screen and (max-width:767px)">

不足:即使不满足当前设备条件的 CSS 文件也会被请求,但不会生效

②. 有选择性执行 CSS 片段中的内容

在样式表中,加针对屏幕的判定条件

@media screen and (max-width:767px){

选择器{属性:值;}

}

(2). MEDIA-TYPE:媒体类型

①. all:默认值,所有设备

②. screen:电脑屏幕,智能手机,平板电脑

③. tv:电视设备

(3). MEDIA-FEATUER:媒体特性

①. width :指定浏览器窗口宽度大小

②. min-width :指定浏览器窗口宽度最小值

③. max-width :指定浏览器窗口宽度最大值

A. 在屏幕下,宽度在 767 以内,执行操作

@media screen and (max-width:767px){}

B. 在屏幕下,宽度在 768~991 之间,执行操作

@media screen and (min-width:768px) and (max-width:991px){}

C. 在横屏模式下执行的操作

@media all and(orientation :landspace){}

D. 在竖屏模式下执行的操作

@media all and(orientation :portrait){}

(4). 常见屏幕尺寸:

①. 超小屏幕(Extra Small : xs), w <= 767,例如:手机屏幕

②. 小型屏幕(Small : sm),768 <= w <= 991,例如:pad

③. 中型屏幕(Medium : md),992 <= w <= 1199,例如:电脑屏幕

④. 大型屏幕(Large : lg),w >= 1200,例如:分辨率较大的电脑屏幕

5. Twitter Bootstrap

官网:http://getbootstrap.com

中文官网:http://www.bootcss.com

bootstrap.css - 提供了上千个 class,依赖于 JS 库 - jQuery,Bootstrap 分为 5 部分

(1). 起步

(2). 全局样式

(3). 组件

(4). JS 插件

(5). 定制

6. Bootstrap 起步声明

(1). <html lang="zh-cn">

指定当前文档的基础语言 zh-cn、zh-tw、jp、en,作用:

①. 为浏览器的自动翻译功能指定语言基础

②. 为读屏软件指定基础发音

(2). <meta name="viewport"> 必须

(3). <meta http-equiv="x-ua-compatible" content="IE=edge">

①. x-ua-compatible:Cross UserAgent Compatible,跨(IE)浏览器兼容性

②. content:指定用 哪个 IE 的内核进行页面渲染

IE=6 :指定用 IE6 内核渲染页面

IE=7 :指定用 IE7 内核渲染页面

IE=8 :指定用 IE8 内核渲染页面

IE=9 :指定用 IE9内核渲染页面

IE=edge :采用 IE 最新版内核渲染页面

(4). 两个 JS

①. html5shiv.min.js,第三方的 JS,自调函数,用于让老 IE(IE8 及以下)支持 HTML5 新标记 header、footer、aside

②. respond.min.js,第三方的 JS,自调函数,用于让老 IE(IE8 及以下)支持 CSS3 媒体查询技术 - 响应式必备

通过头部引用 Hack 判断是否为 IE8 以及以下的浏览器

<!--[if lt IE 9]>

<script src="html5shiv.min.js"></script>

<script src="respond.min.js"></script>

<![endif]-->

(5). 两个 JS

①. jQuery.js 引入到页面中(先)

②. bootstrap.js 引入到页面中(后)

建议:尽量将以上两个文件放在页面最底端引入

7.Bootstrap 全局 CSS 样式,bootstrap.css 内容分为两部分

(1). CSS Reset(很多依赖于normalize.css,可以屏蔽浏览器兼容性)

(2). 上千个 class

.btn .btn-default .btn-danger

8. Bootstrap 默认将屏幕分成四大类

(1). 大型 PC 屏幕(lg) : w >= 1200px

(2). 中型 PC 屏幕(md) : 992px <= w <= 1199px

(3). 小型 PAD 屏幕(sm): 768px <= w <= 991px

(4). 超小型 PHONE 屏幕(xs): w <= 767px

9. Bootstrap 提供的两种容器

(1). 定宽容器,在不同大小的设备上提供不同的 width 固定值

①. class: .container

②. lg : width:1170px

③. md : width:970px

④. sm : width:750px

⑤. xs : width:100%

(2). 变宽容器,在任何设备中,宽度都是 100%

class: .container-fluid

width: 100%

10. Bootstrap 全局 CSS 样式 - 按钮.btn

(1). .btn

默认按钮

(2). .btn-default

白底深色字

(3). .btn-danger/success/warning/info/primary

按钮危险/成功/警告/信息/首选

(4). .btn-lg/sm/xs

按钮大 中 小

(5). .btn-block

块级按钮

11. Bootstrap 全局 css 样式 - 列表.list

(1). .list-unstyled

不带标识的列表

(2). .list-inline

行内列表

(3). .dl-horizontal

定义列表

12. Bootstrap 全局 css 样式- 图片.img

(1). .img-rounded

倒圆角

(2). .img-circle

圆形

(3). .img-thumbnail

缩略图

(4). .img-responsive

响应式(改为块级,独立成行了)

13. Bootstrap 全局 css 样式-表格.table

(1). .table

普通表格

(2). .table-bordered

带边框表格

(3). .table-striped

隔行变色表格

(4). .table-hover

待悬停效果的表格

(5). .table-responsive

响应式表格(为表格父元素添加)

14. Bootstrap 全局 css 样式 - 文本 & 排版.text

(1). 文本颜色相关

①. .text-danger/success/warning/info/primary

文本 危险/成功/警告/信息/首选

②. .bg-danger/success/warning/info/primary

背景 危险/成功/警告/信息/首选

(2). 文本大小写

①. .text-uppercase/lowercase/capitalize

全部大写/全部小写/单词首字母大写

(3). 文本对齐方式

①. .text-left/center/right/justify

(4). 引用样式

①. <blockquote>

15. Bootstrap 全局 css 样式 - 栅格布局,在页面中可以实现布局的技术:

(1). table 布局

好处:简单,容易控制

不足:效率低

(2). div css

好处:效率高

不足:灵活,不易控制

(3). 栅格布局

好处:效率高,容易控制,实现响应式

不足:没有

栅格布局实际上就是由 div 组成的 table 样式的响应式结构

使用方法:

①. 栅格布局系统的最外层,必须是 bootstrap 提供的容器

.container 或 .container-fluid

②. 允许在容器中放置若干行 div.row

每行中最多等分为 12 列

③. 行中放置 div.col 即列,每列都需要指定宽度 1/12、2/12

④. 列 根据适用屏幕分成四种类型

A. .col-xs-*

a. .col-xs-1 : 在超小屏幕中,占一列的宽(8.33%)

b. .col-xs-2 : 在超小屏幕中,占两列的宽(16.66%)

c. .col-xs-12 : 在超小屏幕中,占 12 列的宽(100%)

B. .col-sm-*:在小型屏幕中 所占列宽数

C. .col-md-*:在中型屏幕中 所占列宽数

D. .col-lg-*: 在大型屏幕中 所占列宽数

⑤. 列偏移数量,每个列都可以指定向右偏移几列位置(不能用float),偏移的列会影响后续的列,主要作用是列左右留白,列右对齐,列居中

A. .col-xs-offset-n :在 xs 下,当前列向右偏移 n 列的距离

B. .col-sm-offset-n :在 sm 下,当前列向右偏移 n 列的距离

C. .col-md-offset-n :在 md 下,当前列向右偏移 n 列的距离

D. .col-lg-offset-n :在 lg 下,当前列向右偏移 n 列的距离

⑥. 列排序数量,控制某列向右或向左移动,并不影响其它的列,主要作用是在特定的屏幕下临时调整列的出现位置

A、col-lg-push-n: 在 lg下,当前列向右移动n 列的距离

B、col-lg-pull-n: 在 lg下,当前列向左移动n 列的距离

⑦. 栅格布局系统可以嵌套

⑧. 适用于不同屏幕的列的 class(xs/sm/md/lg),可以兼容更大的屏幕

大屏幕 class 在小屏幕中,永远是垂直显示

A. .col-xs-* : 适用于 xs/sm/md/lg

B. .col-sm-* : 适用于 sm/md/lg

D. .col-md-* : 适用于 md/lg

E. .col-lg-* : 适用于 lg

⑨. 可以在一个 div 中指定在不同屏幕下的宽度占比,相同的占比可简写为一个

语法:<div class="col-xs-9 col-sm-6 col-md-3"></div>

释义:在 xs 中 占 9 列宽、在 sm 中 占 6 列宽、在 md 中 占 3 列宽

⑩. 指定列在特定屏幕下不显示

A. .hidden-lg : 在 lg 下隐藏

B. .hidden-md : 在 md 下隐藏

C. .hidden-sm : 在 sm 下隐藏

D. .hidden-xs : 在 xs 下隐藏

16. Bootstrap 全局 CSS 样式 - 表单.form-group,遵循 HTML5 的规范,共三种

(1). 默认表单(垂直排列)

①. .form-group

定义表单控件组

②. .form-control

定义表单控件

③. .control-label

定义控件对应的 label

④. .help-block

定义提示文本

(2). 行内表单,为 <form> 添加 class="form-inline",注意label要写成class=“sr-only”,help-block不要了,写placeholder

(3). 水平表单, 水平表单 = 表单 栅格布局系统

①. 栅格

A. 最外层:.container / .container-fluid

B. 行:div.row

C. 列:div.col-*-*

②. 水平表单栅格系统

A. 最外层:form.form-horizontal (正常情况 .container)

B. 行:div.form-group /(正常情况div.row)

C. 列:div.col-*-*

(4). checkbox及radio表单的特殊写法(H5规范)

17. Bootstrap 组件 -下拉菜单.dropdown

(1). 外层必须是 .dropdown/.dropup 或 position:relative;

(2). 内层:为 <button> 或 <a>

data-toggle="dropdown" :切换内容的显示和隐藏

(3). 内层 <ul> 或 <div>

class="dropdown-menu"

①. li.divider : 分割线效果

②. li.disabled : 禁用菜单项

③. li.dropdown-header: 标题

18. Bootstrap 组件 - 导航.nav

标签页式导航,语法如下:

(1). li.active : 默认被激活

(2). li.data-toggle="tab" :允许切换并且指定切换方式

19. Bootstrap 组件 - 图标字体.glyphicons

在页面中,显示为图标,本质上是文字,可以设置字体,颜色,大小,阴影等,Web程序中常用的图标字体:

(1). Glyphicons 收费

(2). FontAwesome 675 个 免费

由于客户端不具备 bootstrap 中的图标字体,所以使用自定义的图标字体必须声明,需要在服务器端做以下操作:

(1). 声明字体

(2). 对使用字体图标的选择器进行声明

(3). 使用方法:必须保证是空元素

20. Bootstrap 组件 - 按钮组.btn-group

(1). 基本按钮

(2). 将一组 .btn-group 组合进一个 .btn-toolbar(按钮工具栏)

(3). 按钮组尺寸,为 .btn-group 增加 .btn-group-* 类设置尺寸

①. <div class="btn-group btn-group-lg"></div>

②. <div class="btn-group btn-group-sm"></div>

③. <div class="btn-group btn-group-xs"></div>

(4). 按钮组的嵌套,在一个 btn-group 中嵌套另一个 btn-group

(5). 两端对齐按钮组,.btn-group .btn-group-justified

(6). 垂直放置的按钮组,.btn-group-vertical

21. Bootstrap 组件 -警告框.alert,允许将任意字符与可选的关闭按钮组合在一起的结构

(1). .alert-success/danger/info/warning

成功/危险/信息/警告

(2). .alert-dismissible

允许关闭的警告框

(3). alert-link 警告框中的连接

<a href="#" class="alert-link"></a>

22. Bootstrap 组件-面包屑导航.breadcrumb

23. Bootstrap 组件-分页条.pagination

(1). .active 被激活的页码

24. Bootstrap 组件-分页器 .pager

25. Bootstrap 组件-标签.label

<span class="label label-danger">标签内容</span>

(1). .label-default

默认

(2). .label-primary/success/info/warning /danger

标签首选/成功/信息/警告/危险

26. Bootstrap 组件-徽章.badge

语法:<span class="badge">35</span>

27. Bootstrap 组件-巨幕.jumbotron,如果想让巨幕组件的宽度与浏览器宽度一致并且没 有 圆 角 , 请 把 此 组 件 放 在 所 有 .container 元 素 的 外 面 , 并 在 组 件 内 部 添 加 一个 .container 元素.

28. Bootstrap 组件-页头.page-header,允许为标题元素增加适当的空间,与其他元素有一定的间隔

29. Bootstrap 组件-水井.well

30. Bootstrap 组件-进度条.progress

(1). .progress-bar

进度条类名,必须

(2). .progress-bar-danger/success/info/warning/

危险/成功/信息/警告

(3). .progress-bar-striped

动画效果

(4). .active

被激活的

(5). .aria-valuemin/valuenow/valuemax

最小值/当前值/最大值

(6). style="width:50%"

增加宽度

31. Bootstrap 组件-缩略图.thumbnail

(1). .caption 标题

32. Bootstrap 组件-媒体对象.media

(1). .media-left:左部分

(2). .media-body:主体

(3). .media-right:右部分

(4). 语法

33. Bootstrap 组件-列表组.list-group

(1). ul:class="list-group"

(2). li:class="list-group-item"

34. Bootstrap 组件-面板.panel,呈现头部主体尾部结构的组件

(1). .panel-default

默认面板

(2). .panel-heading

面板头部(标题容器)

(3). .panel-body

面板主体

(4). .panel-footer

面板脚注

(5). .panel-title

面板标题

(6). .panel-primary/success /info/warning/danger

面板首选/成功/信息/警告/危险

(7). 示例

35. Bootstrap 组件-导航条.navbar

(1). 基本导航条

①. 向 nav 元素添加 class.navbar .navbar-default,有需要的话,允许添加 div.container

②. 向 nav 元素中添加 div.navbar-header,内部允许包含 class 带有 .navbar-brand <a>元素

③. 允许向导航条中添加链接列表,只需要添加 class.nav .navbar-nav 的列表即可

(2). 导航条中的表单,不适用 bootstrap 中默认 class,使用的时 .navbar-form (具备垂直对齐效果),配合 .navbar-left / .navbar-right

语法: <form class="navbar-form"></form>

(3). 导航条中的按钮,class.navbar-btn 允许向不在 form 中的 button(a)增加样式(垂直居中)

语法:<button class="navbar-btn"></button>

(4). 导航条中的文本,普通文本需要增加 class .navbar-text 属性来保证格式

语法:<p class="navbar-text">Text</p>

(5). 组件的对齐方式,允许通过 .navbar-left 实现左浮, .navbar-right 实现右浮动

(6). 导航栏的固定,不会随着滚动条发生滚动,一直在可视化区域中

①. 固定在页面顶端:.navbar-fixed-top

②. 固定在页面底端:.navbar-fixed-bottom

注意:最好为 body 设置内边距至少 50 px

36. JS 插件.Bootstrap 基于 jQuery ,在 jQuery 基础上提供了十几个插件函数,每个都是一个独立的 JS 文件,可以一次性引入全部的 JS 操作 - bootstrap.js,每个插件函数都有两种调用方式:

(1). .data-* 方式调用

<a data-toggle="dropdown"></a>

(2). JS 编程方式,手动编写 JS 代码完成行为的调用

<script>

$("选择器") : 在 Javascript(jQuery) 中获取页面指定选择器的元素

$("#id")

$(".class")

$("div p")

$("选择器").dropdown();

</script>

37. JS 插件-警告框 alert.js

(1). 父元素

class ="alert alert-danger alert-dismissible"

(2). 关闭按钮,位于父元素的第一个子元素.

<button class="close" data-dismiss="alert"></button>

(3). 示例

38. JS 插件-按钮 botton.js

(1). 设置按钮的操作文本,为 按钮元素 添加 data-loading-text="显示的文本"

(2). 设置单选按钮 /复选框,将若干单选按钮 / 复选框放到 btn-group 中,为 btn-group增加属性 data-toggle="buttons"

39. JS 插件-工具提示 tooltip.js

(1). data-toggle="tooltip" 定义提示工具条

(2). data-palcement="top/right/bottom/left" 提示的方向

(3). title="提示的文本"

JS :$("[data-toggle='tooltip']").tooltip();

40. JS 插件-弹出框 popover.js,为伪元素增加下列 class

(1). data-toggle="popover" //指定为弹出框方式

(2). data-placement="top/right/bottom/left"//方向

(3). data-content="弹出框内容区域的文本"

(4). title="弹出框的标题"

JS : ("[data-toggle='popover']").popover();

41. JS 插件-标签页 tab.js

(1). 为导航组件里面 a 增加

①. data-toggle = "tab"

②. href="#对应元素内容的 ID"

(2). 创建内容组

①. class 为 tab-content

②. 在 内容组中 增加对应显示的内容模块

A. 增加 id 属性

B. 增加 class="tab-pane active"

42. JS 插件-模态对话框 modal.js ,父窗口中弹出一个子窗口,只要子窗口不关闭,父窗口就无法操作,模态对话框由两部分组成:

(1). 触发元素,通常 a / button 组成

①. <a href="#模态框 ID" data-toggle="modal"></a>

②. <button data-toggle="model" data-target="#模态框 ID"></button>

(2). 模态框示例

43. JS 插件-折叠效果 collapse.js

(1). 触发元素

①. <a data-toggle="collapse" href="#id"></a>

②. <button data-toggle="collapse" data-target="#id"></button>

(2). 被折叠元素

<div class="collapse in" id="id"></div>

(3). 特殊效果:手风琴(Accordion),此效果分为面板组(panel-group)和折叠插件两部分

(4). 响应式导航条

当屏幕尺寸大于 768px 时候,可以正常显示出所有的内容,当屏幕尺寸小于 768px时候,一部分内容就会隐藏,通过点击弹出,响应式导航条由两部分组成.

①. class .navbar-header

用于显示 navbar-brand 和折叠点击按钮

②. class.navbar-brand

定义 brand 内容

③. class.navbar-togglte

定义折叠按钮

④. class .navbar-collapse

折叠按钮,当屏幕大于 768px 正常显示,屏幕尺寸小于 768px隐藏,通过按钮点击完成展开显示

注意:响应式导航条的结构——只有从手机屏幕才能看出来

(5). 导航条的种类

①. 按颜色

A. 浅色底深色字

.navbar.navbar-default

B. 深色底浅色字

.navbar.navbar-inverse

②. 按定位

A. 相对定位(占空间)

.navbar

B. 固定定位(不占空间)

.navbar.navbar-fixed-*

③. 按位置

A. 固定在顶部

.navbar.navbar-fixed-top

B. 固定在底部

.navbar.navbar-fixed-bottom

44. JS 插件-广告轮播 Carousel

45. Less 和 Bootstrap 定制

样式语言的分类有分两种

(1). 静态样式语言:CSS

可以被浏览器直接解析处理,但 CSS 并不是合格的语言,缺少了基本编程的要素,如:变量,运算符,函数...... 由于不是动态的,所以导致了 CSS 的可维护性差

(2). 动态样式语言:

如:Less , Sass, Stylus

不可以被浏览器直接解析处理;必须经过编译(Compile)得到 CSS 文件后,才能使用,具备语言的基本要素:变量...... 极大的提高的 CSS 代码的可维护性

46. Less 语言

Less 是一本 CSS 预处理语言,它扩充了 CSS,在纯静态的 CSS 基础上增加了一部内容 如:变量,混合(Mixin) ... 对静态 CSS 完全支持 100%兼容

官网:http://lesscss.org

中文网:http://less.bootcss.com

在 Web 项目中使用 Less 的两种方式:

(1). 在客户端浏览器中编译 Less - 不推荐使用

①. 编写 xx.less 文件

②. 编写 xx.html,引入 xx.less;再引入 less.js

③. 浏览器访问 xx.html 会自行下载 xx.less,less.js 文件,并且在客户端进行编译转换成 xx.css

(2). 在服务器端编译 less - 推荐使用

①. 编写 xx.less

②. 在服务器端搭建 Less 编译器,把 xx.less 转换为 xx.css

③. 再编写 xx.html 直接引入 xx.css 文件即可

47. 搭建 Less 服务器端编译环境 - 重点&乱点

Less 编译器实际上是由 Javascript 编写的

(1). 安装独立的 JS 解释器 - node.exe

查看是否安装成功在命令行中执行 node -v 显示其安装版本如: 4.4.7

(2). 安装 Less 编译器程序 (npm安装包解压即可)

确保C:npmnode_moduleslessbinlessc文件存在即可

(3). 将less文件转为css文件(必须要是UTF-8格式,WS里面要设置)

①. 第一种方法:在控制台中 测试 less 转换为 css

输入 :node C:npmnode_moduleslessbinlessc E:xx.less =>E:xx.css

以上命令行的路径可更改,必须与文件路径一致即可,执行成功后,E盘会多出一个xx.css文件

②. 第二种方法:在 WebStrorm 中 配置 FileWatchers(文件监视器),由 WS 自动检测 less 文件的编写与更改,自动进行编译得到 css 文件

配置 FileWatchers

WS =>File => Settings => Toos => FileWatchers => 添加 选择 Less =>在”program”里面 指定lessc.cmd 文件地址即可

在编译好的文件里敲两个空格,保存,编译好的css文件就会在less文件目录下

48. Less 语法

(1). Less 完全支持 CSS 语法

(2). Less 支持多行注释和单行注释,只有多行注释能被编译到 css 中

多行: /* 注释内容 */

单行: // 注释内容

(3). Less 支持变量(Variable),变量就是在 less 中可以变化的数据

①. 声明变量(变量可以是任意合法的值)

语法: @变量名:值;

A. @jd_color:#e4393c;

B. @border_width:5px;

C. @base_font:"微软雅黑";

D. @border:1px solid #ddd;

②. 使用变量(声明变量必须使用后less文件才能自动转换成css文件)

语法: 属性:@变量名;

#top{

color:@jd_color;

border:@std_width @nomal_border @jd_color;

}

(4). Less 变量可以使用运算符( 、-、*、/、%)

49. Less 中支持在一组样式中混入另一种样式(Mixin)

(1). 样式嵌套

选择器 1{ ... }

选择器 2{ ... ;选择器 1;...;}

最终:选择器 2 中会包含该 选择器 1 定义好的样式,可以实现样式无限的嵌套

(2). 带参数的混合

声明选择器的时候,允许使用参数来表示暂时不确定的数据,最终在调用时,要将具体的数值传递进来

选择器 1(@参数名 1,@参数名 2){

width:@参数名 1;

height:@参数名 2;

}

(3). 使用带参的混合写法

选择器 2{

background:#fff;

选择器 1(值 1,值 2);

}

50. 嵌套规则

#top{}

#top p{}

#top p span{}

在 less 中,允许在一个选择器内再声明另一个选择器,以便完成父子结构或后代结构

选择器 1{...

选择器 2{...}

}

最终编译成 CSS 的结果为

选择器 1{...}

选择器 1 选择器 2{...}

51. Less 中提供的功能函数

(1). lighten(@color,20%)

返回一个变亮的颜色值(颜色减淡)

(2). darken(@color,30%)

返回一个变暗的颜色(颜色加深)

(3). image-width("xx.jpg")

返回指定图片的宽度

(4). image-height("xx.jpg")

返回指定图片的高度

(5). ceil(@num)

对数字向上取整

ceil(55.787865235) =>结果为 56

(6). floor(@num)

对数字向下取整

floor(55.787865235) => 结果为 55

(7). percentage(@num)

把小数转换为%数字

(8). & 相当于this的作用 a:hover=a{&:hover}

52. @import 功能

在 Less 中的@import ,在服务器端将多个 less 文件的内容整合到一个 less 文件中

@import "xxx.less";

在CSS中使用@import功能将多个CSS文件导入一个文件后再引入该文件,会增加服务器的请求次数,而在Less中使用@import它会将引入的多个css或是less文件编译后成为一个css文件,不会增加服务器的请求次数

53. Bootstrap的订制流程

(1). 删除工程目录下的bootstrap.css或是bootstrap.min.css文件,删除html文件里面的引入文件语句

(2). 在工程目录下新建“less”文件夹,将bootstrap源代码拷贝到文件夹下,webstrom会自动编译所有的less文件

(3). 将自定义的css文件后辍名改为less,在此文件开头输入:@import "../less/bootstrap.less"; 系统会生成新的css文件

(4). 自定义css文件时,所有的变量都存在variables.less文件夹里面,修改里面声明的变量值,bootstrap.less会随着更改,而自定义的less文件引入了bootstrap.less文件也会随着更改,所以在自定义的less文件里面相关属性值可以引用variables.less里面的变量名

54. 通过修改Bootstrap的less源文件实现定制

(1). Bootstrap瘦身,删除不必要的样式

用“//”注释掉bootstrap.less中不需要的@import即可

(2). 修改Bootstrap默认的样式值,实现粗粒度定制

修改variable.less中的变量值即要

(3). 修改Bootstrap组件的细节样式,实现细粒度定制

修改特定的组件对应的less文件,如dropdown.less

55. 项目不允使用Bottstrap时,提取以下css样式文件

(1). @import "variables.less";

变量文件

(2). @import "mixins.less";

混合文件

(3). @import "normalize.less";

样式重置文件

(4). @import "scaffolding.less";

脚手架,基础设置文件

(5). @import "grid.less";

栅格布局文件

0 人点赞