wiki/开发/前端/HTML手册.md
2025-01-02 10:46:09 +08:00

11 KiB
Raw Blame History

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
	rgbar,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%)

固定定位

positionfixed 元素的位置在网页滚动时不会改变
脱标,不占位
显示模式具备行内块特点

堆叠层级

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;
}