11 KiB
11 KiB
HTML手册
标题标签
h1~h6
文字加粗
字号逐渐减小
独占一行
段落标签
p
独占一行
段落之间存在间隙
换行标签
br
水平线标签
hr
文本格式化标签
strong 加粗
em 倾斜
ins 下划线
del 删除线
图像标签
img
属性:
src 图片url
alt 替换文本
title 鼠标悬浮在图片上提示文本
width 图片高度
height 图片高度
超链接
a
属性:
href 跳转地址
target="_blank" 新窗口打开页面
音频标签
audio
属性:
src 音频URL
controls 显示视频控制面板
loop 循环播放
autoplay 自动播放
视频标签
video
属性:
src 视频url
controls 显示视频控制面板
muted 静音播放
loop 循环播放
autoplay 自动播放
列表标签
ul 无序列表
ol 有序列表
li 列表项 能放任何东西
dl 定义列表
dt 列表标题
dd 列表项
表格标签
table 表格
tr 行
th 头
td 列
合并表格
rowspan 行跨几行
colspan 列跨几行
表单
form
输入标签
input
属性:
type
text 文本框
password 密码框
radio 单选框
name 同组中只能选一个
checked 默认选中
checkbox 多选框
file 上传文件
multiple 多选文件
placeholder 提示信息
下拉菜单
select 下拉菜单整体
option 每一项
selected 默认选中
文本域
textarea
标签标签
label
for id 绑定id增大选中范围
按钮标签
button
type
submit 提交按钮提交数据到后台
reset 重置按钮
button 普通按钮没有功能
语义标签
div 块级标签
span 行内标签
CSS手册
标签选择器
标签名 {
}
类选择器
.类名 {
}
id选择器
#id名 {
}
通配符选择器
* {
}
后代选择器
div span {
选择所有后代
}
子代选择器
div > span {
只选择一个子代
}
交集选择器
p.box {
选择带有类名为box的p标签
}
鼠标悬停选择器
a:hover {
鼠标悬停
}
超链接访问前选择器
a:link {
超链接访问前
}
超链接访问后选择器
a:visited {
超链接访问后
}
超链接点击时选择器
a:active {
超链接点击时
}
查找第一个元素选择器
标签:first-child
查找最后一个元素选择器
标签:last-child
查找第N个元素选择器
标签:nth-child(N) n从0开始
2n 偶数
2n+1 奇数
添加内容选择器
标签::before {
content : "内容"
}
标签::after {
content : "内容"
}
继承性
子级默认继承父级的文字控制属性
层叠性
相同的属性后面覆盖前面的
不同的属性会叠加
优先级
直接看vscode 前面的越大越优先(id、类、标签)
盒子宽度
width 宽度
盒子高度
height 高度
内边距
padding 内边距
外边距
margin
边框线
border 宽度 线类型 颜色
solid 实线
dashed 虚线
dotted 点线
盒子尺寸
box-sizing
border-box 内减,不会撑大盒子尺寸
盒子溢出
overflow
hidden 溢出隐藏
scroll 溢出滚动,无论溢出与否都显示滚动条
auto 溢出才滚动
外边距合并
垂直排列的兄弟,上下margin会合并,取最大的值生效
外边距塌陷
父子级标签,子级添加外边距会被父亲抢走
解决方式:
1、取消子级margin,设置父亲padding
2、父级设置overflow: hidden
3、父级设置border-top
行内元素内外边距
行内元素添加margin、padding 无法改变元素垂直
解决方式:
1、给行内元素添加line-height 改变垂直位置
圆角盒子
border-radius
数字+px
阴影盒子
box-shadow
文字大小
font-size 文字大小px,默认16px
文字粗细
font-weight
400 正常
700 加粗
字体倾斜
font-style
normal 正常
italic 倾斜
文本行高
line-height
等于盒子高度的时候单行文字会在盒子里垂直居中
字体族
font-family
字体名 设置字体样式
文本缩进
text-indent
?em 缩进几个字符
文本水平对齐
text-align
left 左对齐
center 居中对齐
right 右对齐
文本修饰线
text-decoration
none 无效果
underline 下划线
line-through 删除线
overline 上划线
文字颜色
color
rgba(r,g,b,a)
背景色
background-color
背景图
background-image url()
背景图平铺方式
background-repeat
no-repeat 不平铺
repeat 平铺
repeat-x 水平方向平铺
repeat-y 垂直方向平铺
背景图位置
background-position
left 左侧
right 右侧
center 居中
top 顶部
bottom 底部
背景图缩放
background-size
cover 等比例缩放背景图完全覆盖背景区、可能背景图片部分看不见
contain 等比例缩放背景图片以完全装入背景区,可能部分区域空白
背景图固定
background-attachment
fixed 固定
显示模式
display
block
独占一行
宽度默认是父级的100%
添加宽高属性生效
lnline-block
一行可显示多个
设置宽高属性不生效
宽高尺寸由内容撑开
inline
一行可以显示多个
设置宽高属性生效
宽高尺寸也可以由内容撑开
浮动
float 让块元素水平排列
left 左对齐
right 右对齐
浮动后的盒子顶对齐
浮动后的盒子具备行内块特点
浮动后的盒子脱标,不占标准流位置
如果父级没有高度,子级无法撑开父亲高度
清除浮动
.clearfix::before,
.clearfix::after {
content: "";
display: table;
}
.clearfix::after {
clear: both;
}
Flex组成
设置方式:给父元素设置display:flex,子元素可以自动挤压或拉伸
组成部分:
弹性容器
弹性盒子
主轴:默认在水平方向
侧州:默认在垂直方向
创建flex容器
display: flex;
flex主轴对齐方式
justify-content
属性:
flex-start 弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列
center 弹性盒子沿主轴居中排列
space-between 弹性盒子沿主轴均匀排列,空白间隙均分在弹性盒子之间
space-around 弹性盒子沿主轴均匀排列,空白间隙均分在弹性盒子两侧
space-evenly 弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等
flex侧轴对齐方式
align-items 当前弹性容器内所有弹性盒子的侧轴对齐方式
align-self 单独控制某个弹性盒子的侧轴对齐方式
属性:
stretch 弹性盒子沿测轴线被拉伸至铺满容器
center 弹性盒子沿测轴居中排列
flex-start 弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列
flex主轴方向
flex-direction 主轴默认在水平方向,侧轴默认在垂直方向
属性:
row 水平方向,从左向右
column 垂直方向,从上到下
row-reverse 水平方向,从右向左
column-reverse 垂直方向,从下向上
flex弹性伸缩比
flex 控制弹性盒子的主轴方向的尺寸 整数数字,占用父级剩余尺寸份数
flex弹性盒子换行
flex-wrap 弹性盒子可以自动挤压或拉伸,默认情况在,所有弹性盒子都在一行显示
属性:
wrap 换行
nowrap 不换行
flex行对齐方式
align-content
属性:
flex-start 弹性盒子从起点开始依次排列
flex-end 弹性盒子从终点开始依次排列
center 弹性盒子沿主轴居中排列
space-between 弹性盒子沿主轴均匀排列,空白间隙均分在弹性盒子之间
space-around 弹性盒子沿主轴均匀排列,空白间隙均分在弹性盒子两侧
space-evenly 弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等
相对定位
position: relative 设置盒子的位置
不脱标,占用自己原来的位置
left
right
top
bottom
值可以写50%
需要加transform:translate(-50%,-50%)
绝对定位
position: absolute
脱标,不占位
显示模式具备行内块特点
设置偏移则相对最近的已经定位的祖先元素改变位置,所以子绝父相
挪动自己大小的一半
transform:translate(-50%,-50%)
固定定位
position:fixed 元素的位置在网页滚动时不会改变
脱标,不占位
显示模式具备行内块特点
堆叠层级
z-index 按照标签书写位置,后来者居上,属性值为数字,取值越大,层级越高
行内块垂直对齐方式
vertical-align
bottom
top
middle
过渡
transition给一个元素在不同状态之间切换的时候增加过渡效果
加到原属性
属性值:
过渡的属性(可以是all) 花费的时间
透明度
opacity 设置整个元素的透明度
光标类型
cursor 鼠标悬停在元素上时显示样式
pointer 小手效果
text 工字型
move 十字光标
平面转换(2D转换)
transform为元素添加动态效果,改变盒子在平面的形态(位移、旋转、缩放、倾斜),通常卸载hover里
属性值:
translate(x轴,y轴) 左/上都为负,值为像素和百分比
rotate(旋转角度) 单位deg 取正顺时针旋转,取负逆时针旋转
transform-origin 水平原点位置 垂直原点位置 。转换原点位置 取值left、top、right、bottom
scale(缩放倍数/x轴/y轴缩放倍数)
skew(倾斜度数)
多重转换:先平移再旋转
渐变色
linear-gradient(
渐变方向(默认从上到下,可以to right/left/top/角度度数)
颜色1 终点位置(百分比),
颜色2 终点位置
)
径向渐变
radial-gradient(
半径(可以是2条) at 圆心位置(像素单位数值/百分比/方位名词),
颜色 终点位置,
颜色 终点位置,
)
空间平移(3D)
transform: translate3d(x,y,z)
translateX()
translateY()
translateZ()
perspective:视距(人眼和屏幕之间的距离,建议800-1200px),给父级元素添加,子级的translateZ就生效了
空间旋转(3D)
transform: 沿着哪个轴旋转
rotateX()
rotateY()
rotateZ()
动画
animation 动画名字 动画花费时间 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态
定义动画
@keyframes 动画名 {
from {}
to {}
}
@keyframes 动画名 {
0% {}
20% {}
100% {}
}
速度曲线:
linear:匀速
steps(步骤) 分步动画
重复次数:infinite 无限循环
反向:alternate
结束状态:forwards 结束状态 backwards 开始状态
animation-play-state 暂停动画 paused 为暂停
rem适配
rem 相对于HTML标签的字号计算结果
媒体查询
@media (媒体特性[width:375px]) {
#差异化CSS样式
选择器 {
}
}
flexible.js
flexible.js是淘宝开发的一个用来适配移动端的js库,根据不同的视口宽度设置不同的fontsize
less
less是一个CSS预处理器,Less后缀是.less。扩充了CSS语言,使CSS具备一定的逻辑性、计算能力
页面丝滑滚动
html {
scroll-behavior: smooth;
}