Tips:
1、为什么在`<head>`引入`<script>`不好用,因为当script引入的js需要操作节点时,`<body>`中的结构还没有读取到
2、所有容器的子元素,不设宽高的话宽度都是默认铺满的,只有高度需要自行设置,不是只有flex、grid布局才铺满
href是关联当前元素和引用资源之间的联系;
src是引用资源,表示替换当前元素
锚点链接:定位到页面内某一位置(#号代表锚点)(返回顶部使用逆向)、用name或者id为特定位置起名,全称<a href="a.html#name1">回到顶部</a>,之后简写成“#id”了
<a href="#link">标题</a>
也可以“<a href=javascript:一段js代码;”,表示在触发“<a>”默认操作时,执行一段js代码
<h3 id="link">内容</h3>(使用id和name功用一样,命名规范不同)
:target选择器可以为锚点添加样式
download属性既可以用来指定下载链接,也可以指定下载文件名,只要download有下载地址,href是否为空都可以下载
target属性:a标签将以何种方式跳转,‘_blank’在新窗口打开,‘_self (默认)’
Tips:
1、将a标签填满容器,并透明显示,从而实现定位跳转
th和td不同的一点是th带加粗
页面想不跳转加#或者不写链接都可,但是#可以不刷新页面
input标签:表单中的value值代表向服务器传递的数据;name是表单元素的名称,选项框都要有相同的;
form标签:action表示向何处发送的地址
select标签:由option标签组成,size属性表示的是显示行数;option中selected属性设置默认选项
Auto Rename Tag 标签自动补全
地址可以用#,target不能用#作为属性
Ctrl+/ 注释快捷键
只有“按钮”input属性可以用value显示文字
button标签:title属性可以显示悬停文字
<div>和<span>标签
div独占一行,把标签中的内容分割成块,里面什么都能放;span不换行,文本级标签,不能放p、h、ul、dl、ol、div。
div是专门为css而生的,搭配“div+css”实现各种样式,实际开发中很少使用文本标签,都是容器标签。
容器标签(同时也是块级元素):div ul li ol dl(定义列表)
div+css只会用到很少的标签:div a span img input ul(无序列表) ol(有序列表) dl(自定义列表)
span是行内元素,不设为block无法设置宽高
span适用于文字,会自动根据文字长度和大小改变宽高,但是当父元素设置为flex布局时,会将未设宽高的元素自动铺满
<img>标签:如果想保证图片等比例缩放,只设置width和height中的一个,剩下的宽或高页面会自适应。
dl(定义列表,用的非常多):dt(标题)是必须的,dd非必须
<ul>和<ol>都是用<li>,<dl>使用<dt>和<dd>
用什么标签不是根据样子来决定,而是根据结构(语义),dl和div都是常用结构
表格是由行组成的(行是由列组成的),而不是由行和列组成
Get和Post提交的区别:
Get会以键值对的形式将提交的数据追加在后面,以?间隔;
Post发送的数据则是不可见
value在input中的作用:对于checkbox和radio来说是必须的,该值会发送至表单。对其他是默认显示内容。
placeholder跟value的不同:不会被提交表单,在获得焦点时自动消失;设置定位属性有效(position和left),但是不能用外边距
用id属性的元素会在dom中自动注册,不需要getElement可以直接用id名调用节点方法
用在拖拽目标上的事件:
ondragstart - 用户开始拖动元素时触发
ondrag - 元素正在拖动时触发
ondragend - 用户完成元素拖动后触发
用在拖拽容器上的事件:
ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发此事件
ondragover - 当某被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragleave - 当被鼠标拖动的对象离开其容器范围内时触发此事件
ondrop - 在一个拖动过程中,释放鼠标键时触发此事件
span标签是inline不是block,所以显示不出来图形样式
行内进行运算时需要加括号
HTML属性名对大小写不敏感,会统一转换成小写,在js中是驼峰式的写法在HTML中写成短横线分隔,或者统一都写成短横线
html的加载顺序:
解析html结构 -> 加载外部脚本和样式表文件 -> 解析并执行脚本代码 -> 构造html dom模型 -> 加载图片等外部文件 -> 页面加载完毕。
html文件从上至下读取,如果“head”中外部引入文件读取慢,则会发生“js阻塞”,只有等前一个文件/服务器读取完才能执行后面的操作
解决办法:
1、使用 v-cloak指令<div v-cloak>{{msg}}</div>;这个指令保持在元素上知道关联实例结束编译
2、使用 v-html指令 <div v-html='msg'></div>
3、使用 v-text指令 <div v-text='msg'></div>
4、使用template标签将需要渲染的 html 包起来;template标签 是一种用于保存客户端内容的机制,该内容在页面加载时不被渲染,但可以在运行时使用JavaScript进行实例化。
HTML全局属性(可以与所有元素一起使用):
title:为元素标签添加鼠标悬停信息
data-*:搭配 `getAttribute(' ')`方法 来获得标签上的自定义 `data-*` 属性;
通过JS中 `dataset.后缀名` 设置/setAttribute('data-*',值)
或者通过JQ中 `data('后缀名')`方法 设置
draggable:链接和图像默认是可拖动的
其他的还有style和class等
取值类型:
1、·<input type="checkbox/radio">·值存在dom节点的·checked·属性中
2、·<input type="text">·值存在dom节点的·value·属性中
3、·<input type="text">·值存在dom节点的·files·属性中,是个类似数组的·只读·类型,不具有数组常用的那些方法,只能用for循环遍历取出里面的对象,添加到自定义数组中,展示和上传文件时使用自定义数组