vscode常用快捷键
1.格式化(使代码格式变标准):shift+alt+f
2.移动代码:Alt+up/alt+down
3.快速复制一行:shift+alt+up/shift+alt+down
4.快速替换:ctrl+h
html5基础骨架标签
1.<html>
2.<body>
3.<head>
4.<title>
5.<meta>
标题标签
<h1>-<h6>(大-小)
快捷生成1-6:h$*6
标签中调解位置:align(left,center,right)
vscode打开浏览器插件
open in browser(鼠标右键使用)
段落标签
<p>
换行标签
<br>
水平线
<hr>
颜色:color
宽度:width(带单位)
高度:size
位置:align(默认中间)
图片标签
<img>
图片网址/路径/名字:src
当图片不能正常显示时代替内容:alt
宽度:width
高度:height
鼠标悬停后显示内容:title
超文本链接
<a href="url">text</a>
文本标签
着重文字:<em>
粗体文本:<b>
斜体字:<i>
加重语气:<strong>
删除字:<del>
无特定含义:<span>
有序列表标签
<ol>包裹<li>
按顺序带数字的列表
<ol>type属性:"1","a","A","i","I"
<ol><li>可以相互嵌套
无序列表标签
<ul>包裹<li>
不带数字标识,变成原点
<ul>type属性:"disc"--默认实心圆 "circle"--空心圆 "square"--小方块 "none"--不显示
<ul><li>也可以相互嵌套
快捷:ul>li*num
表格标签
表格:<table>
行:<tr>
单元格:<td>
快捷:table>tr*num1>td*num2{文本内容}
table属性:
"border":表格的边框
"width":宽
"height":高
表格单元格合并
水平合并:colspan
colspan="num" 合并num个单元格 保留右边删除左边
垂直合并:rowspan
同上 保留上边删除下边
表单
<form action="url" method="post/get" name="formName"></form>
action:服务器地址
method:get提交的数据url看的到,post看不到。get一般提交少量数据,post提交大量数据
表单元素:
表单标签
表单域
表单按钮
例:
文本框:<input type="text">
密码框:<input type="password">
提交按钮:<input type="submit" value="text">
块元素和行内元素
块元素:在页面中独占一行,可以设置width,height,块里面可以包含其他块和行内元素,自上而下排列
例:div,h1-h6,form,hr,p,table,ul.....
行内元素:不占一行,只占自身大小,能设置width,height无效,一般内联包含内联,不包含块
例:a,b,em,i,span,strong.....
行内块级元素(不换行,但能识别宽高)
例:button,img,input.....
容器元素
<div id="">
div属性拆分(h5新增):
<header>:头部
<nav>:导航
<section>:定义文章中的节,比如章节,页眉,页脚
<aside>:侧边栏
<footer>:脚部
<article>:代表一个完整的,独立的相关内容块,例如一篇完整的论坛帖子,一个用户评论等
CSS引入
外部样式:当样式需要应用于多个页面的时,通过改变一个文件来改变整个站点的外观,每个页面使用<link>标签链接到样式表,<link>在头部
<link rel="stylesheet" type="text/css" href="xxx.css">
选择器
全局选择器:与任何元素匹配,优先级最低,一般用作初始化
*{
color:red;
}
元素选择器:页面上所有这种类型的标签
p{
color:black;
}
类选择器:用原点"."定义,针对你想要的所有标签使用
<h1 class="className1 className2">xxx</h1>
.className{
color:red;
}
ID选择器:针对某一个特定的标签使用,只能使用一次,id唯一
<h1 id="name"></h1>
#name{
color:red;
}
合并选择器:提取公共的样式,减少重复代码
<h1 class="class1">text1</h1>
<p class="class2">test2</p>
<style>
.class1{
color:red;
}
.class2{
color: green;
}
.class1,.class2{
background-color: black;
}
</style>
选择器优先级
元素选择器:1
类(class)选择器:10
id选择器:100
内联样式选择器:1000
行内样式>ID选择器>类选择器>元素选择器
字体属性
颜色:
color:red;
color:#ff0000;
color:rgb(0,0,0)//(红(0-255),绿(0-255),蓝(0-255))
color:rgba(0,0,0)//(红(0-255),绿(0-255),蓝(0-255),透明度)
字体大小:chorme浏览器接受最小字体是12px
font-size:39px;
字体粗细:
font-weight:400;
bold:粗体 bolder:更粗 lighter:更细 100-900:400等同默认,700等同bold
文本样式:
font-style:italic;
normal:默认 italic:斜体
字体类型:
font-family:"微软雅黑";
背景属性
背景颜色
background-color:
背景图片
background-image:url("path")
背景图片显示位置:
background-position:
//left top:左上 left center:左中 left bottom:左下
//right top:右上 right center:右中 right bottom:右下
//center top:中上 center center:中中 center bottom:中下
//x% y% 水平 垂直 xpos ypos 像素
背景图片如何填充
background-repeat:
//repeat 默认值 repeat-x 只往水平方向平铺 repeat-y 只往垂直方向平铺
//no-repeat 不平铺
背景图片大小属性
background-size:
//length:图片宽度和高度,第一个宽度,第二个高度
//percentage:相对区域的百分比,第一个宽,第二个高
//cover:保持图片纵横比,并将图片缩放成完全覆盖背景区域的最小大小
//contain:保持纵横比,图片缩放成适合背景定位区域的最大大小
文本属性
对齐方式
text-align:
//left 左 默认 right 右 center 中
文本修饰
text-decoration:
//underline 下划线 overline 上划线
//line-through 删除线
文本大小写
text-transform:
//captialize 单词首字母大写 uppercase 全部大写 lowercase 全部小写
首行缩进
text-indent: 30px
表格属性
表格边框
border:1px solid red
折叠边框
border-collapse:collapse
表格宽度和高度
height,width
表格文字对齐
text-align:
vertical-align://垂直对齐
//bottom top
表格填充
padding:15px
表格颜色
border:1px solid red
background-color:red
color:red
关系选择器
后代选择器:选择所有被E元素包含的F元素
E F{}
子代选择器:选择所有作为E元素的直接子元素,对更深一层不起作用
E>F{}
相邻兄弟选择器:选择紧跟E元素之后的兄弟F元素,只选第一个,只能向下选
E+F{}
通用兄弟选择器:选择E元素之后的所有兄弟元素F,选所有
E~F{}
盒子模型
外边距:margin-(left,right,top,bottom)
边框:border 内边距和内容外的边框
内边距:padding left,right,top,bottom
内容:content
弹性盒子模型
父元素上的属性
1.display:flex 开启弹性盒子 弹性盒子里面内容默认横向摆放
2.flex-direction 指定弹性子元素在父容器中的位置
flex-direction:
//row:左对齐,默认的方式
//row-reverse:反转横向排列,右对齐
//column:纵向排列
//column-reverse:反转纵向排列
3.justify-content:内容对齐,把弹性项沿着弹性容器的主轴线对齐
justify-content:
//flex-start:弹性项目向行头紧挨着填充,默认。
//flex-end:弹性项目向行尾紧挨着填充
//center:中间
4.align-items:设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式
align-items:
//flex-start:弹性盒子的纵轴起始位置的边界紧靠住该行的侧轴起始边界
//flex-end:弹性盒子的纵轴起始位置的边界紧靠住该行的侧轴结束边界
//center:中间
子元素上的属性
1.flex:根据弹性盒子设置的扩展因子作为比率来分配剩余空间,默认为0
文档流产生的问题
1,高矮不齐,底边对齐
2,空白折叠问题,多个空格,换行,tab都折叠成一个。img标签之间有空隙
脱离文档流方式
1.浮动:浮动之后使元素脱离了文档流,只有左右浮动,没有上下浮动。脱离文档流之后,元素相当于在页面上增加了一个浮层来放置内容,当容器不足以横向摆放时,会在下一行摆放
float:left/right
浮动副作用:浮动元素会造成父元素高度塌陷,后续元素会受到影响
清除浮动:
(1)父元素设置高度
(2)受影响的元素增加clear属性
(3)overflow清除浮动
overflow:hidden;
clear:both;//left right both
//两者搭配
(4)伪对象方式
.fatherName::after{
display:block;
clear:both;
}
2.绝对定位absolute
3.固定定位fixed
position:absolute/fixed;
Z-index
设置元素的堆叠顺序,拥有更高堆叠顺序的元素总会处于堆叠顺序较低的元素前面
CSS3新特性
圆角
border-radius:5px;
//左上+右下 右上+左下
//左上 右上+左下 右下
//左上 右上 右下 左下
阴影
box-shadow:h-shadow v-shadow blur color;
//h-shadow:水平阴影位置,必选
//v-shadow:垂直阴影位置,必选
//blur:模糊距离 可选
动画
@keyframes创建动画
@keyframes name{
0%{
样式
}
50%{
样式
}
100%{
样式
}
//from等同0% to等同100%
}
执行动画animation
animation:name duration timing-function delay iteration-count direction;
//duration:动画持续时间
//timing-function:动画效果的速率 ease--逐渐变慢(默认) linear--匀速 ease-in --加速 ease-out--减速 ease-in-out 先加后减
//delay:动画的开始时间(延时执行)
//iteration-count:动画循环的次数,infinite为无限次
//direction:动画播放的方向 normal:默认向前 alternate:播放第偶数次向前,奇数次先反方向
//animation-play-state:动画的播放状态,running播放,paused停止播放
触发
div:hover{//鼠标放上去
animation-play-state:paused;
}
媒体查询
使不同的页面在不同的终端设备下达到不同的效果
设置meta标签
<meta name="viewport" content="width=device-width, initial-scale=1.0">
媒体查询语法
@media screen and (min-width:992px){
样式
}
//符合条件的显示对应的样式
雪碧图
将一个页面中涉及到的所有零星图片都包含到一张大图中去
优点:减少图片的字节,减少网页的http请求,大大提高页面的性能
原理:通过background-image引入背景图片,通过background-position把背景图片移动到自己需要的位置
字体图标
JavaScript
javaScript引入到文件
1.嵌入HTML
<body>
<script>
</script>
</body>
2.引入本地js文件
<body>
<script type="text/javascript" src="xxx.js"></script>
</body>
3.引入网络来源文件
<body>
<script src="url"></script>
</body>
javaScript运算符
数据类型判断 typeof name;
比较运算符
==:比较数值
===:严格比较,数值本身是否相同,类型本身是否相同
三目运算符
表达式 ? true:false
Math对象
abs():绝对值
min(a,b),max(a,b):最值
floor(a):向下取整
ceil(a):向上取整
random():0到1的伪随机数
Date对象
getTime():返回距离1970年的毫秒数
getDate():返回每个月的几号
getDay():返回星期几,0为日
getYear():返回距离1900的年数
getFullYear():返回四位数年份
getMonth():返回月份
getHours():返回几点
getMilliseconds():返回毫秒(0-999)
getMinutes():返回分钟
getSeconds():返回秒
DOM文档对象模型
javascript操作页面的接口,将网页转为一个javascript对象,从而可以用脚本语言进行各种操作
节点:DOM的最小组成单位
节点类型:
1.Document:文档树的顶层节点
2.DocumentType:doctype标签
3.Element:网页的各种HTML标签
4.Attribute:网页元素的属性
5.Text:标签之间或标签包含的文本
6.Comment:注释
7.DocumentFragment:文档的片段
document对象方法
getElementsByTagName("标签名"):搜索HTML标签名,返回符合条件的元素,返回值是一个数组
getElementsByClassName("class名"):搜索class名
getElementById():匹配id
querySelector():接受一个CSS选择器作为参数,返回匹配该选择器的元素节点,只返回一个
querySelectorAll():返回所有
document创建元素
createElement():生成元素节点并返回该节点
createTextNode():生成文本节点,参数是文本节点内容
createAttribute():生成一个新的的属性节点并返回
鼠标事件
click:按下鼠标触发
dblclick:双击鼠标触发
mousedown:按下鼠标时触发
mouseup:释放鼠标时触发
mousemove:鼠标在节点内部移动时触发,持续移动时,持续触发
mouseenter:进入一个节点时触发,进入子节点不会触发
mouseleave:鼠标离开一个节点时触发,离开父节点不会触发
mouseover:鼠标进入一个节点时触发,进入子节点会再次触发
mouseout:鼠标离开一个节点触发,离开父节点会再一次触发
wheel:滚动鼠标的滚轮时触发
Event事件
事件发生之后,会产生一个事件对象,作为参数传给监听机制,event作为参数传入函数
event对象属性:
event.target:返回事件当前所在的节点
event.type:返回一个字符串,表示事件类型,只读
event对象方法:
event.preventDefault:取消浏览器对当前事件的默认行为
event.stopPropagation():阻止事件在DOM中继续传播,防止再触发定义在别的节点上的监听函数,但是不包括在当前节点上其他的事件监听函数
键盘事件
keydown:按下键盘时触发
keypress:按下有值的键触发,Ctrl,Alt,Shift,Meta等键就是无值的键。先触发keydown,在触发本事件
keyup:松开键盘时触发事件
keyCode:键盘按键的唯一标识
表单事件
input事件:当input,select,textarea的值发生变化时触发,复选框或单选框变化时也触发
select事件:在input,textarea里面选中文本时触发
change事件:当input,select,textarea的值发生变化时触发,不是时时触发,统一触发
reset事件:表单重置时触发,所有表单成员变回默认值
submit事件:当表单数据向服务器提交时触发
定时器
setTimeout(,):指定某个函数或某段代码,在多少毫秒之后执行,返回一个整数,代表定时器的编号,可以用来取消定时器。
clearTimeout(id):取消定时器
setInterval(,):间隔一段时间执行一次,无限次执行
防抖
对于短时间内连续触发的事件,防抖的含义就是让某个时间期限内,事件处理函数只执行一次
Let命令
let是块级作用域
let不存在变量提升
let是不能重复声明的
Const命令
声明一个只读的常量,一旦声明,不可改变,声明时必须初始化,块级作用域,常量不提升
for...of遍历字符串
for(let i of 'sdfsdf'){
}
字符串方法
includes():返回布尔值,表示是否找到了参数字符串
startsWith():返回布尔值,表示是否在原字符串头部
endsWith():返回布尔值,表示是否在原字符串尾部
repeat(n):返回一个新字符串,将原字符串重复n次
str.padStart(n,newStr):头部补全,不够n为则用newStr补全
str.padEnd(n,newStr):尾部补全
trimStart():消除字符串头部空格
trimEnd():消除字符串尾部空格
at(n):返回指定位置的字符
数组
...:扩展运算符,将一个数组转为用逗号隔开的参数序列
Array.from():将类数组转为真正的数组
Array.of():将一组值转为数组