Day13:H5+JS+C3
css布局中,什么是BFC
BFC是Block formatting context的缩写,表示“块级格式化上下文”。
设置BFC的元素,是一个独立的渲染区域,只有Block-level box参与,它规定了内部的 Block-level Box如何布局(与该区域外部无关)。
在HTML当中,每个元素都可以看做一个盒子BOX,而不同盒子的“展示”类型有所不同。
Formatting context 是页面中的一块渲染区域,并且有一套渲染规则。它用来决定:其子元素将如何定位,以及和其他元素的关系和相互作用,BFC是其中的一种规则。
可以通过触发BFC布局,来清除浮动,防止纵向margin重叠等。
BFC提供了一个独立布局的环境
每个BFC都遵守同一套布局规则
创建一个BFC:
float:left|right
position:absolute|fixed
display: table-cell|table-caption|inline-block
overflow: hidden|scroll|auto
CSS3选择器有哪些?
属性选择器、伪类选择器、伪元素选择器。
css3选择器:
基本选择器,层次选择器
伪类选择器,属性选择器
伪元素,
基本选择器语法
层次选择器语法
CSS3有哪些新特性?
text-shadow
border-radius
box-shadow
box-sizing
gradient
transform
在CSS3中唯一引入的伪元素是 ::selection
媒体查询,多栏布局
border-image
渐变:linear-gradient、radial-gradient
过渡:transition
内联 内嵌 外链 导入
Flex弹性布局
2009年,W3C提出了一种新的方案—-Flex布局
.box{display:flex;}
行内元素也可以使用Flex布局
.box{display:inline-flex;}
<body>
<div class="box">
<div class="w-100"></div>
<div class="flex1"></div>
</div>
</body>
<style>
.box {
display: flex;
height: 200px;
width: 400rpx;
}
.w-100 {
width: 100px;
background: red;
}
.flex1{
flex: 1;
background: blue;
}
</style>
采用Flex布局的元素,称为Flex容器
水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。
单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。
flex-direction:决定项目(item)的排列方向
row(默认值):主轴为水平方向,起点在左端。
column:主轴为垂直方向,起点在上沿。
row-reverse:主轴为水平方向,起点在右端。
column-reverse:主轴为垂直方向,起点在下沿。
<style>
.dis-flex {
dispaly: flex;
flex-direction: column;
}
.box {
height: 200px;
width: 400px;
}
.w-100 {
height: 50px;
background: red;
}
.flex1 {
flex: 1;
background: blue;
}
</style>
<body>
<div class="box dis-flex">
<div class="w-100"></div>
<div class="flex1"></div>
</div>
</body>
flex-wrap
lex-wrap属性定义了,如果一条轴线排不下,item的换行方式。
flex-wrap有三个值:
1、nowrap(默认):不换行
2、wrap:换行,第一行在上方。
3、wrap-reverse:换行,第一行在下方。
.dis-flex {
flex-wrap: wrap-reverse;
display: flex;
}
.box {
width: 400px;
}
flex-flow
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.dis-flex {
display: flex;
flex-flow: column-reverse wrap;
}
.box {
height: 400px;
width: 200px;
}
justify-content有五个值:
1、flex-start(默认值):左对齐
2、flex-end:右对齐
3、center: 居中
4、space-between:两端对齐,项目之间的间隔都相等。
5、space-around:每个item两侧的间隔相等。
space-between:两端对齐
space-around:每个item两侧的间隔相等
<style>
.dis-flex{
display: flex;
flex-flow: wrap;
justify-content: space-between;
}
.box {
width: 400px;
border: 2px solid blue;
}
.box2 {
width: 400px;
border: 2px solid blue;
margin-top: 20px;
justify-content: space-around;
}
align-items:Item在交叉轴上如何对齐
1、flex-start:交叉轴的起点对齐。
2、flex-end:交叉轴的终点对齐。
3、center:交叉轴的中点对齐。
<body>
<div class="box">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
</div>
</body>
<style>
.box{
width: 400px;
display: flex;
border: 2px solid green;
align-item: center;
}
.box>div{
width:80px;
color: #fff;
text-align:center;
}
.item1{
background:blue;
height:200px;
line-height:200px;
}
.item2{
background: gray;
height: 100px;
line-height: 100px;
}
.item3{
background: red;
height: 120px;
line-height: 120px;
}
</style>
baseline: 项目的第一行文字的基线对齐。
align-content:多根轴线的对齐方式
order
Item的排列顺序。数值越小,排列越靠前,默认为0。
.dis-flex{
display: flex;
flex-flow: wrap;
justify-content: space-between;
}
flex-grow
定义Item的放大比例,默认为0,即如果存在剩余空间,也不放大。
.dis-flex{
display: fle;
}
.box{
width: 400px;
border: 2px solid green;
}
.box>div{
height: 80px;
line-height: 80px;
color: #fff;
text-align: center;
}
flex-shrink
定义了Item的缩小比例,默认为1,即如果空间不足,该Item将缩小
flex-basis
flex-basis属性定义了在分配多余空间之前,Item占据的主轴空间(main size)。
align-self属性允许单个Item有与其他Item不一样的对齐方式,可覆盖align-items属性。
<style>
.box{
width: 400px;
height: 400px;
display: flex;
border: 2px solid green;
align-items: center;
}
.box>div{
width: 80px;
color: #fff;
text-align: center;
}
.item1{
background: blue;
height: 200px;
line-height: 200px;
align-self: flex-end;
}
.item2{
background: gray;
height: 100px;
line-height: 100px;
}
.item3{
background: red;
height: 120px;
line-height:120px;
}
</style>
请点赞!因为你的鼓励是我写作的最大动力!
吹逼交流群:711613774
Day13:H5+JS+C3的更多相关文章
- H5+JS+CSS3 综合应用
慕课网新教程H5+JS+CSS3 实现的七夕言情主题效果已经出炉了 从设计到实现到录制与编写用了快1个月的时间,说真的这个案例是慕课定制的,我之前也没有系统的做过这样的一个效果,在实现的时候自己也重新 ...
- iOS原生APP与H5+JS交互////////////////////zzzz
原生代码中直接加载页面 1. 具体案例 加载本地/网络HTML5作为功能介绍页 2. 代码示例 //本地 -(void)loadLocalPage:(UIWebView*)webView ...
- H5 Js图片转base64编码
<!Doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...
- python开发学习-day13(js、jQuery)
s12-20160409-day13 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- H5、C3、ES6的新特性
H5的新特性 1.语义化标签 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重. 语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构 方便其 ...
- h5+js随机拖动鼠标产生动画效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 11 (H5*) js第1天 基本数据类型、变量
目录 1: js的介绍 2:写js代码注意的地方 3:变量 4:变量的命名和作用 5:变量的类型 6:Number类型 7:string类型 8:类型转换 9:操作符号 复习 <script& ...
- mui H5 js动态添加不同类型的数据
html页面需要添加的页面的数据格式 <ul class="mui-table-view" id="OA_task_1"> <li class ...
随机推荐
- C#的WebApi 与 EasyUi的DataGrid结合生成的可分页界面
1.从数据库每次取出的数据为当前分页的数据. 2.分页用的是EasyUI 的 Pagination控件,与DataGrid是相对独立的. 3.后台数据获取是通过WebApi去获取. 4.传入参数是:p ...
- Java内存模型——方法区
方法区(Method Area) ① 对每个加载的类型,JVM必须在方法区中存储以下类信息: 1) 这个类型的完整有效名(类型信息) 类型名称在Java类文件和JVM中都以完整 ...
- c#Queue队列的使用
消息队列 队列(System.Collections.Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队,当您从列表中移除一项时, ...
- cocoaPods升级遇到的问题 升级ruby 升级cocoaPos
最近重复了一次,修复一些更改. 1.查询 rvm版本rvm -v 2.查询ruby版本ruby -v 3.查询 gem 版本gem -v 4.查询ruby 镜像gem sources -l 5.升级r ...
- Linux 基础学习1
目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...
- Android gradle用exclude排除引用包中的dependency引用
项目突然编译不通过,报如下错误 FAILURE: Build failed with an exception. * What went wrong: Execution fai ...
- FreeRTOS二值信号量
API函数 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) #define xSemaphoreCreateBinary() xQueueGenericCre ...
- c# zip写comment注释
//生成的压缩文件为test.zip using (FileStream fsOut = File.Create("test.zip")) { //ZipOutputStream类 ...
- Python爬虫的三种数据解析方式
数据解析方式 - 正则 - xpath - bs4 数据解析的原理: 标签的定位 提取标签中存储的文本数据或者标签属性中存储的数据 正则 # 正则表达式 单字符: . : 除换行以外所有字符 [] : ...
- 关于Istio 1.1,你所不知道的细节
本文整理自Istio社区成员Star在 Cloud Native Days China 2019 北京站的现场分享 第1则 主角 Istio Istio作为service mesh领域的明星项目,从2 ...