1、表单
- 单行文本框
<input type="text">
- 密码框
<input type="password">
- 单选框
<input type="radio" name>
单选框name必须一致
默认选中checked="checked" | checked
默认不能选中disabled="disabled" |disabled
- 多选框
<input type="checkbox" checked>
- 下拉
<select name="" id="">
<option value=""></option>
<select>
- 多行文本输入框|文本域:
<textarea name="" id="" cols="30" rows="10"></textarea>
- 文件
<input type="file">
- 邮箱
<input type="email">
- 颜色
<input type="color">
- 数字
<input type="number">
- 滑块
<input type="range">
- 日期
<input type="date">
<input type="month">
<input type="week">
- 电话
<input type="tel">
- 时间
<input type="time">
- 按钮
<input type="button">
<button><button>
button有提交作用 - 重置
<input type="reset">
- 提交
<input type="submit">
- 表单字段级:
<fieldset>
<legend>表单字段级</legend>
</fieldset>
- 表单属性值
- action:设置提交地址
- method:
- post:提交内容;相对安全
- get:获取内容;相对危险
- name:告诉计算机是谁提交的
2、块级格式化上下文(BFC)
- 概念:BFC可以作为一个独立的盒子,无论内部怎么变化,不影响盒子外部的变化
- 触发条件
- 根元素html可以作为一个BFC
- float值不为none、单纯的div不是BFC,加了浮动后可以算作一个BFC
- overflow的值不为visible、单纯的div不是BFC,如果添加了overflow:hidden后可以算作一个BFC
- display的值为inline-block、table-cell、table-caption、flex、inline-liex
- position值为absolute或fixed
3、应用场景
- 浮动引发的高度塌陷
- 原因
子元素添加浮动脱离文档流,父元素不能用子元素撑起来
- 解决方法:
- 给父元素添加高度
- 给父元素添加
**overflow:hidden;**
- 隔墙法:
给父元素添加最后一个子元素,再给子元素定义clear:both;
4. 伪元素:
ul::after{
content:"";
diaplay:block;
clear:both;
}
- 垂直外边距合并问题
- 垂直上边距上边距问题
- 引发:给父元素的以一个子元素添加margin-top,默认添加到父元素上
- 解决:
- 给父元素加border
- 给父元素加
**overflow-hidden**
;
- 垂直外边距下边距合并
- 引发:两个上下的盒子,给上边盒子添加margin-bottom;给下边盒子添加margin-top
- 解决:
- 创建BFC(块级格式化上下文) ——创建一个父级
- 给父元素添加
overflow-hidden
;
- 垂直上边距上边距问题
<style>
*{
margin: 0;
padding: 0;
}
.box{
height: 600px;
width: 600px;
background-color: #ccc;
overflow: hidden;
}
.box1{
width: 200px;
height: 200px;
background-color: red;
margin-top: 30px;
}
.box2{
width: 300px;
height: 300px;
background-color: rgb(41, 86, 138);
}
.box3{
height: 200px;
width: 200px;
background-color: aquamarine;
margin-bottom: 30px;
}
.box4{
height: 200px;
width: 200px;
background-color: rgb(170, 193, 210);
margin-top: 20px
}
p{
overflow: hidden;
}
</style>
<div class="box">
<div class="box1"></div>
<div class="box2"></div>
</div>
<p>
<div class="box3"></div>
</p>
<p>
<div class="box4"></div>
</p>
- 阻止元素浮动覆盖问题(两栏布局模式、三栏布局模式)
- 两栏布局:先写宽度固定的子元素,并添加浮动;剩下的元素添加overflow:hidden;
- 三栏布局:先写宽度固定的两个元素添加左右浮动;剩下的元素添加overflow:hidden;
<style>
*{
margin: 0;
padding: 0;
}
.box{
background-color: #ccc;
}
/* .left{
width: 600px;
height: 200px;
float: left;
background-color: red;
}
.right{
background-color: palegreen;
height: 400px;
overflow: hidden;
} */
.left{
height:600px;
background-color: red;
overflow: hidden;
}
.right{
width: 500px;
height: 200px;
background-color: palegreen;
float: right;
}
</style>
<div class="box">
<!-- <div class="left"></div>
<div class="right"></div> -->
<div class="right"></div>
<div class="left"></div>
</div>
<style>
*{
margin: 0;
padding: 0;
}
.box{
width: 1300px;
background-color: #ccc;
margin: 0 auto;
overflow: hidden;
}
.left{
width: 200px;
height: 200px;
float: left;
background-color: aqua;
}
.right{
width: 400px;
height: 400px;
background-color: aquamarine;
float: right;
}
.center{
height: 600px;
background-color: yellow;
overflow: hidden;
}
</style>
<body>
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>
</body>
4、元素隐藏
- 隐藏方式
display:none;
不占位opacity:0;
占位、透明度改变visibility:hidden|visible;
占位transform:scale(0);
占位、转变(缩小0)
5、calc函数
- 作用:用于动态计算长度值
- 函数:
calc()
- 注意:运算符前后都需要保留空格如:
width: calc(100% - 10px);
6、iframe
- 作用:在网页中插入第三方页面,
- 语法:
<iframe src="" frameborder="0" width="" height="" name="" scrolling="yes/no/auto"></iframe>
- 注意:
<a href="" target="iframe的name属性值"></a>
表示超链接的目标地址在框架中打开
7、h5新增标签
- 头部:
<header></header>
- 导航:
<nav></nav>
- 尾部:
<footer></footer>
- 内容块:
<section></section>
- 辅助信息:
<aside></aside>
- 文章:
<article></article>
- 媒体文件引入:
<embed src=""></embed>
- 独立内容块:
<figure> <figcaption>这个是熊大小动物</figcaption> <img src="xiongda.png" /></figure>
- 高亮显示文字:
<mark></mark>
- 标题组:
<hgroup></hgroup>
- 对话框:
<dialog open>这是打开的对话框</dialog>
- 定义图形:
<canvas></canvas>
8、视频标签
- 标签:
<video src="" controls muted autoplay></video>
- 播放控件:
- 播放进度条
controls
- 静音播放
muted="muted"|muted
- 自动播放
autoplay="autoplay"|autoplay
- 循环播放
loop="loop"loop
- 播放前预加载图片
poster="路径"
- 视频格式
- 书写
type="video/mp4"
- 视频后缀名:
- .mp4(兼容性最好)
- .ogg(苹果)
- .mov
- .webm()
- 书写
- 播放进度条
9、音频标签
- 标签:
- 播放控件:
- 播放进度条
controls
- 自动播放
autoplay="autoplay"|autoplay
- 循环播放
loop="loop"loop
- 音频格式
- 书写
type="aideo/mp3"
- 音频后缀名:
- .mp3(兼容性最好)
- .ogg(苹果)
- .mav
- 书写
- 播放进度条
10、HTML5新增表单type属性值
- 邮箱:
<input type="email">
- url:
<input type="url">
- 数字:
<input type="number" min="" max="" step="">
- 滑块控件:
input type="range" min="" max="" step
- 日:
<input type="date">
- 月:
<input type="month">
- 周:
<input type="week">
- 时间:
<input type="time">
- 本地时间:
<input type="datetime-local">
- UTC时间:
<input type="datetime">
11、表单新增属性
required
:必填内容,内容不能为空autofocus
:自动聚焦,一个一面只能有一个焦点;如果有多个autofocus的显示,优先显示第一个placeholder
:默认提示文字main
:最小 只能在number和range上使用,max
:最大 只能在number和range上使用,step
:步进值 只能在number和range上使用,pattern
:可以写正则表达式规定所输入的内容;点击提交时才会进行正则判断multiple
:上传多个文件,只能给file添加novalidate
:取消表单验证,添加给form;required不起作用list
:模拟下拉菜单- 创建一个普通text类型的input,给input添加list属性
<input type="text" list="">
- 创建一个数据列表
<datalist></datalist>
- 给数据列表起id名称
<datalist id="caidan">
<option value="百度" lable="baidu"></option>
</datalist>
- 把id名赋值给list属性
<input type="text" list="caidan">
autocomplete
:自动提示,在使用时,必须添加name属性
12、浏览器前缀
-ms-
:浏览器-moz-
:火狐浏览器-o-
:欧朋浏览器-webkit-
:谷歌或safari
13、阴影
- 盒子阴影
box-shadow:10px 20px 13px #ccc;
- 盒子阴影:水平方向阴影大小 垂直方向阴影大小 模糊度 颜色
- 阴影可以写多个,中间用逗号隔开
- 文字阴影
text-shadow:10px 20px 13px #ccc;
14、字体库
- 引入:
@font-face{ font-family: "字体自定义的名称"; src: url(); }
- 应用:
{ font-family: "字体自定义的名称"; }
15、背景图片
- 背景图片
{
background-image:URL();
background-repeat:no-repeat|repeat|repeat-x|repeat-y;
background-position:x y; top left rgiht bottom center
background-size:width height;
}
- 简写:
background:red url() no-repeat center / cover;
- 背景图片大小:
cover
:把背景图片扩展至足够大,使背景图像完全覆盖背景区域contain
:把图像扩展至最大的尺寸,使其宽高完全适应内容区域- 背景图片固定:
background-attachment: fixed;
16、精灵图(雪碧图)
- 优点:
- 减少http请求次数
- 方便更换风格
- 维护方便
- 缺点:
- 量取麻烦(x,y)
- 位置不允许改变
- 写法:
background:url() no-repeat x y
- 注意:
- 盒子大小一定要精准
- 背景图一定不能定义大小
- 位置x,y是负数
17、字体库引入
- css样式添加3个文件:.css文件、.woff文件、.woff2文件
- link引入:
<link rel="stylesheet" href="css/iconfont.css">
- 使用:
- .html文件中图片名称:
<div class="iconfont icon1"></div>
- .css文件中图片名称:
<div class="iconfont icon-shouji"></div>
- .html文件中图片名称:
18、颜色渐变
- 线性渐变
background: linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
- 改变方向:
background: linear-gradient(to right, rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
——从左往右background: linear-gradient(to top, rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
——从下往上background: linear-gradient(to left, rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
——从右往左background: linear-gradient(to bottom, rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
从上往下
- 兼容性:
background: -moz-repeating-linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
background: -o-repeating-linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
background: -webkit-repeating-linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
background: -ms-repeating-linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
background: linear-gradient(rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
- 改变角度:最好添加兼容性写法
background: linear-gradient(60deg, rgb(5, 5, 167),rgb(155, 164, 211),rgb(36, 36, 77));
- 透明渐变:
background: linear-gradient(rgba(5, 5, 167,.5),rgba(155, 164, 211,.5),rgba(36, 36, 77,.6));
- 重复渐变:
- 径向渐变:
- 默认写法
background: radial-gradient(rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
- 改变方向:(添加兼容性)
background: -webkit-radial-gradient(left, rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
background: -ms-radial-gradient(left, rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
background: -o-radial-gradient(left, rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
background: -moz-radial-gradient(left, rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
background: radial-gradient(left, rgb(61, 61, 79),rgb(155, 164, 211),rgb(57, 18, 232));
- 改变形状:
div { background: radial-gradient(circle, red, yellow, green); }
circle
:渐变为最大的圆形ellipse
:根据元素性状改变
- 多颜色节点不均匀分布:
div { background: radial-gradient(red 5%, green 15%, blue 60%); }
- 不同尺寸的渐变:
div { background: radial-gradient(60% 40%, closest-side, blue, green, yellow, black); }
- 分类:
closest-side
:最近边farthest-side
:最远边closest-corner
:最近角farthest-corner
:最远角
- 重复渐变
- 重复性线性渐变:
div { background: repeating-linear-gradient(red, yellow 10%, green 20%); }
10%的位置为yellow,20%的位置为green,然后按照这30%向下重复 - 重复性线性渐变:
div { background: repeating-radial-gradient(red, yellow 10%, green 20%); }
- 重复性线性渐变:
19、过渡
- 写法:
transition:all 5s linear 3s
- 属性:
transition-property
:检索或设置对象中的参与过渡的属性transition-duration
:检索或设置对象过渡的持续时间transition-delay
:检索或设置对象延迟过渡的时间transition-timing-function
:检索或设置对象中过渡的动画类型
- 贝塞尔曲线
- 属性值:cubic-bizier()
- 逐帧动画:
transition-timing-function:steps(执行步数)
20、2D属性(transform)
- 位移:
- 属性值:
translate()
- 方向:
- x轴:
transform:translateX
- y轴:
transform:translateY
- x轴:
- 属性值:
- 缩放:
- 属性值:
scale()
- 值:
- (0,1) 缩小
- 1 不变
- (1~+∞) 放大
- 0 消失
- (-1,0) 缩小倒影
- (-∞,-1) 放大倒影
- 属性值:
- 旋转:
- 属性值:
rotate
- 值:
- x轴旋转:
transform:rotateX();
- y轴旋转:
transform:rotateY();
- x轴旋转:
- 属性值:
- 拉伸:
- 属性值:
skew
- 参数:
- 一个参数:水平方向的倾斜角度
- 两个参数:第一个表示水平方向倾斜角度,第二个表示竖直方向的倾斜角度
- 属性值:
- 变形点:
transform-origin
21、3D变换
- 景深
- 属性:
perspective-origin
- 数值:通常在900~1200,数值越小,效果越明显
- 建议只设置父元素
- 属性:
- 3d属性
- 属性:
transform-style
- 属性值:
flat
:默认值,2d展示preserve-3D
:所有子元素3D展示
- 属性:
- 3D位移
translate3d(tx,ty,tz)
tx:横向左边位移长度
ty:纵向坐标位移长度
tz:z轴位移长度
- 3D旋转
rotate3d(x,y,z,a)
x:0~1,绕x轴旋转的矢量值
y:0~1,绕y轴旋转的矢量值
z:0~1,绕z轴旋转的矢量值
a:角度值 为正,顺时针旋转;为负,逆时针旋转
- 3D缩放
scale3d(sx,sy,sz)
sx:横向缩放比例
sy:纵向缩放比例
sz:x轴缩放比例
22、帧动画
- 创建动画:
@keyframes mymove{ from{初始状态属性}
to{结束状态属性}
}
或
@keyframes mymove{
0%{初始状态属性}
100%{结束状态属性}
}(中间再可以添加关键帧)
- 属性
animation
animation-name
设置对象(即创建的动画的名称)animation-duration
设置动画的持续时间animation-timing-funcition
设置动画的过渡类型animation-delay
设置动画的延迟时间animation-iteration-count
设置动画的循环次数- infinite:无限循环
- number:设置次数
animation-direction
设置动画循环中的方向- normal:正常方向
- reverse:反方向
- alternate:先正后返持续交替
- alternate-reverse:先反后正持续交替
animation-play-state
设置动画的状态- running:运动
- paused:暂停,鼠标移上去开始运动
23、怪异盒模型
- 盒模型
- 组成:margin+border+padding+content
- 宽高:
- 宽度:width+左右padding+左右border
- 高度:height+上下padding+上下border
- 怪异盒模型
- 属性:
box-sizing:border-box;
标准盒模型转化为怪异盒模型 - 宽度:padding+border+width 值是初始定义的宽度,自动压缩
- 属性:
24、权重
选择器 | 值 |
---|---|
标签选择器 | 1 |
class选择器 | 10 |
id选择器 | 100 |
行内权重 | 1000 |
属性选择器 | 10 |
伪元素选择器 | 1 |
继承样式 | 0 |