3.23-day7-Bootstrap 底层结构
1.1 版心宽度的挡位划分
目标
- 当视口宽度为0~800px时
- 版心宽度为100%当视口宽度为801~1200px时
- 版心宽度为700px当视口宽度大于1200px时
版心宽度为1100px
@media screen and (max-width: 800px){
width: 100%;}
@media screen and (min-width: 801px) and (max-width: 1200px)
.w {width:700px;}
@media screen and (min-width: 1201px)
{width: 1100px;}
一套结构,多套样式
/* 1.公共样式 */
.box {
margin: 0 auto;
height: 100px;
}
/* 2.不同屏幕执行的样式 */
@media(max-width: 800px) {
.box {
width: 100%;
background-color: pink;
}
}
@media(min-width:801px) {
.box {
width: 700px;
background-color: red;
}
}
@media(min-width:1201px) {
.box {
width: 1100px;
background-color: royalblue;
}
}
1.2-多列布局实现思路
* { margin: 0; padding: 0; }
li { list-style: none; height: 100px; float: left;}
ul li:nth-child(2n) { background-color: salmon; }
ul li:nth-child(2n+1) { background-color: red;}
.w {height: 300px;margin: 0 auto; background-color: royalblue;}
@media (max-width:499px) {.w { width: 100%; }li {width: 100%;} }
@media (min-width:500px) {.w {width: 480px;}li {width: 50%; }
@media (min-width:1000px) {.w {width: 980px; } li {width: 25%;} }
1.3 BootStrap介绍
- Bootstrap是由Twitter 公司开发维护的前端UI框架
·什么是UI框架?
- 将常见效果进行统一封装后形成的一套代码(举个例子)
好处:提高了开发效率
- 它提供了大量的css样式、html组件、各种各样的特效
- 提供了一套响应式布局的解决方案——栅格系统
·版本
- BootStrap3(目前使用最广泛)
- BootStrap4
2.1 BootStrap栅格系统–介绍
是什么?
- BootStrap把一行分为12等份,一个元素需要占几份就在代码中写几份就行
使用步骤
第一步:设置包裹元素
- .container或.container-fluid
第二步:设置行元素
- .row
第三步:设置列元素
- .col-lg-数字 -大桌面显示器,大于等于 1200px
- .col-md-数字 -桌面显示器,大于等于 992px
- .col-sm-数字 -平板,大于等于 768px
- .col-xs-数字 -手机,小于 768px
2.2媒体查询
/* 超小屏幕(手机,小于 768px) */
/* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */
/* 小屏幕(平板,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }
/* 中等屏幕(桌面显示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }
/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }
1-案例
<!-- 版心 有左右内边距15px -->
<div class="container">
<!-- row左右的额-15px的外边距,抵消了父元素15px的内边距 -->
<div class="row">
<!-- 只是调用了col-lg(md\sm\lg)15px的内边距 -->
<div class="box1 col-lg-3 col-md-1 col-sm-4 col-xs-2">1</div>
<div class="box2 col-lg-5 col-md-1 col-sm-4 col-xs-2">2</div>
<div class="box3 col-lg-4 col-md-1 col-sm-4 col-xs-2">3</div>
</div>
</div>
<!-- <div class="container-flued"></div> -->
2.3-栅格系统列嵌套
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-xs-8 col-sm-6">
Level 2: .col-xs-8 .col-sm-6
</div>
<div class="col-xs-4 col-sm-6">
Level 2: .col-xs-4 .col-sm-6
</div>
</div>
</div>
</div>
为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的 .row
元素和一系列 .col-sm-*
元素到已经存在的 .col-sm-*
元素内。被嵌套的行(row)所包含的列(column)的个数不能超过12(其实,没有要求你必须占满12列)。
列排序
- 通过使用
.col-md-push-*
和.col-md-pull-*
类就可以很容易的改变列(column)的顺序。 | .col-md-3 .col-md-pull-9 | .col-md-9 .col-md-push-3 | | :—-: | :—-: | | | |
<div class="row">
<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>
2.4-排版样式
1.1-对齐
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>
1.2-改变大小写
<p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>
1.3-缩略语
实例:
An abbreviation of the word attribute is attr.
<abbr title="attribute">attr</abbr>
3.2 BootStrap全局样式-表格
- /
- table :基本类名,初始化表格默认样式
- table-bordered : 让表格里每个单元格的四周都有边框线
- table-striped :隔行变色
- table-hover :鼠标悬停效果
- table-condensed:让表格上下更紧凑
- table-responsive :表格宽溢出滚动
- 的class类:
- .active-鼠标悬停在行或单元格上时所设置的颜色
- .success-标识成功或积极的动作
- .info-标识普通的提示信息或动作
- .warning-标识警告或需要用户注意
- .danger-标识危险或潜在的带来负面影响的动作
3.3 BootStrap全局样式–表单元素
form-control
- ≥给、、
- form-inline
- 给添加这个类会让里面的所有表单变为行内块,所以会水平排列
- 专门设置了获取焦点后的样式
禁用表单
- 添加disabled属性
只读状态
- 添加readonly属性
设置表单元素的大小:
- input-lg
- 默认大小i
- nput-sm
- input-xs