本文共 18524 字,大约阅读时间需要 61 分钟。
案例网址
设备尺寸
不同屏幕分辨率
不同浏览器
不同弹性图片
弹性布局
媒体查询
媒体类型
和一个或多个检测媒体特性
的条件表达式组成针对性
,扩展了媒体类型的功能依靠媒体查询
,才能识别设备的特性
,从而进行特定的样式设置
引用
内部样式表
中直接应用
外部样式表
中,通过link导入
语法
@media [not,only] 设备类型 and (设备特性)P{ CSS 样式代码}
设备名称 | 描述 |
---|---|
Screen | 显示屏幕 |
打印机 | |
Speech | 语音合成器 |
all | 适用于全部设备 |
示例
@media print { body { font-size: 10pt } } @media screen { body { font-size: 13px } } @media screen, print { body { line-height: 16px } }
@media screen and (min-width: 600px) and (max-width: 1024px){ CSS样式声明}
视口(viewport)
在桌面浏览器
中,等于浏览器窗口
CSS像素
,视口大小决定页面布局的可用宽度
浏览器(即设备屏幕)窗口作为视口
,那已有的960像素宽的页面布局就会只显示移动设备屏幕宽度
可见视口
布局视口
默认把布局视口的宽度
设为:980px (IE10
默认设定为1024px) 放大可见视口
,以便在屏幕中显示完整的网站布局视口宽度保持不变
特性名称 | 描述 |
---|---|
width | 视口宽度 |
height | 视口高度 |
Initial-scale | 初始缩放比例 |
minimum-scale | 允许缩放到的最小比例 |
maximum-scale | 允许缩放到的最大比例 |
User-scalable | 用户是否可以手动缩放 |
HeaderLeftMainRight
简单介绍
界面工具集
)twitter
的两位工程师2010年创建简洁
强悍
Web开发
更迅速,简单官网
GitHub
前后端(包括移动端)
需要的界面工具集合,能够让开发者快速搭建
出美观的,可适配
的前端界面生态圈火
,不断的更新换代
不用写所有通用的代码
预定义
样式表css组件
jQuery的js插件
栅格布局
MIT协议
)移动平台
下载安装
BootStrap npm install bootstrap --save
npm
进行安装,适合工程化开发
,比如集成到 react 或者 Node 项目
中gitHub 或 官网
直接下载 项目组织结构
hello Bootstrap!
行(row)与列(column)的组合
来创建页面布局.container(固定宽度)
或 .container-fluid(100% 宽度)
中,以便为其赋予合适的排列(aligment)和内补(padding)
最大12列
,超过列转到下行 container
响应式
容器断点区域
1200px,992px,768px
container-fluid
自适应
容器100%宽度
列(column)
”内,并且,只有“列(column)”可以作为行(row)”的直接子元素
mixin
也可以用来创建语义化的布局
列(column)
”设置 padding
属性,从而创建列与列之间的间隔(gutter)
.row
元素设置负值
margin
从而抵消掉为 .container
元素设置的 padding
,也就间接为“行(row)”所包含的“列(column)”抵消掉了padding
指定1到12的值
来表示其跨越的范围与屏幕宽度大于或等于分界点大小的设备
, 并且针对小屏幕设备覆盖栅格类
.col-md-*
栅格类适用于与屏幕宽度大于或等于分界点大小的设备
, 并且针对小屏幕设备覆盖栅格类.col-lg-*
不存在, 也影响大屏幕设备.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-1.col-md-8.col-md-4.col-md-4.col-md-4.col-md-4.col-md-6.col-md-6
lg、md、sm、xs
四种类样式,针对不同大小的屏幕实现响应式布局列偏移
col-xx-offset-num
类样式d1d2d3d4
列嵌套
d21d22
列排序
col-md-push-num
往后移
对应的栅格距离col-md-pull-num
往前移
对应的栅格距离d1d2d3d4
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; }}
container-fluid
自适应
.container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto;}.jumbotron .container { max-width: 100%;}
row
container
中的内边距抵消
.row { margin-right: -15px; margin-left: -15px;}
col
float: left
实现水平排列
不同的栅格设置不同宽度
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-9 { width: 75%; } .col-lg-6 { width: 50%; } .col-lg-3 { width: 25%; }
col-xx-offset-num
margin-left
设置对应栅格的偏移距离
.col-lg-offset-12 { margin-left: 100%;}.col-lg-offset-9 { margin-left: 75%;}.col-lg-offset-6 { margin-left: 50%;}.col-lg-offset-3 { margin-left: 25%;}
col-xx-pull-num、col-xx-push-num
定位
实现列排序.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;}.col-lg-pull-12 { right: 100%;}.col-lg-pull-9 { right: 75%;}.col-lg-pull-6 { right: 50%;}.col-lg-pull-3 { right: 25%;}.col-lg-push-12 { left: 100%;}.col-lg-push-9 { left: 75%;}.col-lg-push-6 { left: 50%;}.col-lg-push-3 { left: 25%;}
要求
注意: - md 状态下向后位移栅格距离会保留 - 要在对应的状态下重新定义位移距离 - 比如上面的例子 - md 状态下往后位移4个单位之后 - 在 lg 状态下依然会有4个单位空余出来 - 因此,在 lg 状态下也要设置 push 位移为0d1d2d3d4
基础排版
表格
表单
图片
辅助类和响应式工具
。。。
h1~h6
六种标题标签和类样式字体大小和边距
与普通标题标签不同标题类样式
可以应用于其他文本标签全局字体
样式默认14px,间距10px
,适用于body和全部文字段落small
strong
em
cite
text-left
text-right
text-center
text-justify
text-nowrap
text-lowercase
text-uppercase
text-capitalize
首字母大写
list-unstyled
取消序列符号
table
table-striped
(条纹效果)table-bordered
(边框效果)table-condensed
(紧凑效果)table-hover
(光棒效果)table-hover 效果源码解析.table-hover > tbody > tr:hover { background-color: #f5f5f5;}
table-responsive
小于768px
)水平滚动
大于 768px
宽度时,水平滚动条消失
table-responsive 源码解析.table-responsive { min-height: .01%; overflow-x: auto;}@media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; }}
垂直方向
的内容截断 overflow-y: hidden
属性,能将超出表格底部和顶部的内容截断
下拉菜单和其他第三方组件
form-control
类样式 <input>、<textarea>
和 <select>
元素都将被默认设置宽度属性为 width: 100%
form-group
类样式 label 元素
和前面提到的控件包裹在 .form-group
中可以获得最好的排列min-width:768px
)form-inline
类样式 <form>
元素添加 .form-inline
类可使其内容左对齐并且表现为 inline-block
级别的控件视口(viewport)至少在 768px 宽度
时(视口宽度再小的话就会使表单折叠)form-horizontal
类样式 .form-horizontal
类,并联合使用 Bootstrap 预置的栅格类
,可以将 label 标签和控件组水平并排布局
<a>
和 <button>
元素上,但是,导航和导航条组件只支持 <button>
元素<a>
元素被作为按钮使用 – 并用于当前页面触发某些功能
– 而不是用于链接其他页面或链接当前页面中的其他部分
,那么,务必为其设置 role="button"
属性<button>
元素来获得在各个浏览器上获得相匹配的绘制效果.btn-lg
、.btn-sm
、btn-sm
或 .btn-xs
就可以获得不同尺寸的按钮
.btn-block
类可以将其拉伸至父元素100%的宽度
,而且按钮也变为了块级(block)元素
<button>
元素,是通过 :active 状态
实现的<a>
元素,是通过 .active
类实现的Primary link
opacity 属性
就可以呈现出无法点击
的效果<button>
元素添加 disabled 属性
,使其表现出禁用状态
img-responsive
原理
max-width: 100%
、 height: auto
和 display: block
属性父元素
中更好的缩放
img-rounded
(圆角矩形)img-circle
(圆形)img-thumbnail
(缩略图)灰色(muted)
关键蓝(primary)
成功绿(success)
信息蓝(info)
警告黄(warning)
危险红(danger)
text-颜色
少了灰色
),bg-颜色
close
类样式,内容×caret
类样式pull-left,pull-right
类样式块元素居中对齐
center-block
类样式清除浮动
父元素添加 .clearfix
类可以很容易地清除浮动(float)
隐藏和显示
show、hidden
和invisible
类样式针对不同屏幕尺寸隐藏或显示页面内容
HeaderLeftMainRight
glyphicon公司
提供的250个免费icon资源,主要应用于内联元素
中HTML5中的@font-face和before
实现glyphicon以及glyphicon开头
的类样式按钮、工具条中的按钮组、导航或输入框
等地方自定义样式
首页
@font-face
红军不怕远征难
@font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');}.glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}.glyphicon-asterisk:before { content: "\002a";}
font-awesome
可缩放矢量图标
,它可以被定制大小、颜色、阴影以及任何可以用CSS的样式
阿里图标
外部容器
和内部列表
构成dropdown
类样式,列表采用dropdown-menu
类样式对齐方式
dropdown-menu pull-left(right)
类样式,针对ul标题
dropdown-header
类样式,针对列表项分割线
divider
类样式,针对列表项禁用项
disabled
类样式,针对列表项aria-labelledby
role = “menu”
role=“presentation”
role=“menuitem”
btn-group
类样式btn或者组合
类样式设置所有按钮的尺寸
btn-group-vertical
设置垂直排列
按钮组无序列表
及容器nav基类
nav-tabs
nav-pills
nav-stacked
.nav-tabs
类依赖 .nav
基类.nav-pills
类垂直方向堆叠排列
的。只需添加 .nav-stacked
类区别
元素溢出
依赖 JavaScript 插件
修改视口的阀值
排列模式
可访问性
类型
基础
导航条表单
导航条位置
顶部(底部)固定
.navbar-fixed-top
(固定在顶部
).navbar-fixed-bottom
(固定在底部
).navbar-static-top
(静止在顶部
)反色
导航条.navbar-inverse
类可以改变导航条的外观层次
的导航结构中标明当前页面的位置
分隔符
已经自动通过 CSS 的 :before
和 content
属性添加了源码分析
.breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px;}.breadcrumb > li { display: inline-block;}.breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0";}.breadcrumb > .active { color: #777;}
多页码
分页组件(pagination
类样式)上下页
分页组件(pager
类样式)文本内容
和两端对齐
的媒体对象media-list
:针对列表
media
:外部容器,针对列表项
media-left
:左侧
媒体元素media-object
:媒体
元素样式media-body
:文本
元素样式media-heading
:文本元素的标题
transition
和 animation
属性来完成一些特效<span class="badge">
元素,可以很醒目的展示新的或未读的信息条目面板的头部面板的内容
响应式字体图标练习
Domain | price | Clicks | Update | Status | ||
A.COM | $12 | 122 | 2020-9-1 | aaa | ||
b.COM | $22 | 100 | 2020-8-25 | ccc | ||
C.COM | $55 | 88 | 2021-1-1 | ddd | ||
D.COM | $64 | 99 | 2020-3-3 | eee |
动画过渡效果
的组件 模态弹窗
下拉菜单
折叠导航条
轮播图
标签页
Modal
,也叫popup
,一般放置在body标签的子级
主要应用
提示
信息、警告
信息和大文本
确认提示
显示大图
data-toggle
属性 modal,popover,tooltips
等data-target
属性 作用对象
data-dismiss
属性 关闭效果
modal(option)
方法名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
backdrop | boolean 或字符串"static " | true | 背景层是否有效 |
keyboard | boolean | true | 键盘上的 esc 键被按下时关闭模态框 |
事件监听
事件类型 | 描述 |
---|---|
show.bs.modal | show 方法调用之后立即触发该事件 |
shown.bs.modal | 此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发 |
hide.bs.modal | hide 方法调用之后立即触发该事件 |
hidden.bs.modal | 此事件在模态框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发 |
loaded.bs.modal | 从远端的数据源 加载完数据之后触发该事件 |
删除列表
Document
Domain | price | Clicks | Update | ||
A.COM | $12 | 122 | 2020-9-1 | ||
b.COM | $22 | 100 | 2020-8-25 | ||
C.COM | $55 | 88 | 2021-1-1 | ||
D.COM | $64 | 99 | 2020-3-3 |
data-dropdown
dropdown
方法$('.dropdown-toggle').dropdown()
事件监听
事件类型 | 描述 |
---|---|
show.bs.dropdown | show 方法调用之后立即触发该事件 |
shown.bs.dropdown | 此事件在下拉列表框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发 |
hide.bs.dropdown | hide 方法调用之后立即触发该事件 |
hidden.bs.dropdown | 此事件在下拉列表框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发 |
样式结构
data 声明方式
data-toggle: collapse
data-target
: 导航菜单项的容器
data-ride
data-target
不支持IE8
box-sizing
属性值改为 border-box
rem
作为计量单位
(root)导入文件
栅格系统
全局样式
Hello, world! Hello, world!
媒体查询指令@media
,按宽度从小到大分为xs、sm、md、lg和xl
五种规格列组合
col-type-num
类样式列偏移
offset-type-num
类样式列排序
order-num
类样式列组合
col[-type]
样式平分宽度强制换行
对齐
方式 整行垂直
对齐 align-items-type
单个垂直
对齐 align-self-type
多行垂直
对齐align-content-type
水平
对齐 justify-content-type
转载地址:http://vjqwi.baihongyu.com/