本标签: 32
例:
<dl>
<dt>标题1</dt>
<dd>内容11</dd>
<dd>内容12</dd>
<dt>标题2</dt>
<dd>内容21</dd>
<dd>内容22</dd>
</dl>
target="...",决定链接源在什么地方显示(用户自定义的名字,_blank,_parent,_self,_top);
rel="...",发送链接的类型;
rev="...",保存链接的类型;
accesskey="...",指定该元素的热键;
shape="...",允许我们使用已定义的形状定义客户端的图形镜像(default,rect,circle,poly);
coord="...",使用像素或者长度百分比来定义形状的尺寸;
tabindex="...",使用定义过的tabindex元素设置在各个元素之间的焦点获取顺序(使用tab键使元素获得焦点).
action="...",接收数据的服务器的URL;
method="...",HTTP的方法(get,,post),其中get是被反对使用的;
enctype="...",指定MIME(Internet媒体类型);
onsubmit="...",当提交表单时发生的内部事件;
noreset="...",在重新设置表单时发生的内部事件;
target="...",决定把内容显示在什么地方(_blank,_parent,_self,_top)
disabled="...",把按钮的状态设置为不能;
name="...",按钮的控制名,value="...",按钮的值;
type="...",按钮的类型(button,,submit,,reset);
type="...",用于输入控件的类型(text,password,checkbox,radio,submit,reset,file,hidden,image,button);
name="...",控件的控制名(要求是除了submit和reset之外的任何名字);
value="...",控件的初始值;
checked="...",把一个单选钮设置为选中的状态;
disabled="...",把控件的状态设置为不能使用;
readonly="...",只对输入密码的文本框使用;
size="...",表示以像素为单位的除了文本框和密码框控件之外的其它控件的宽度,它是用来指定字符的数目;
src="...",一个图像控件的URL;
maxlength="...",指定可以输入的最多的字符数目;
alt="...",另外一种文本描述;
usemap="...",到客户端图形镜像的URL;
align="...",被反对.控制对齐方式(left,,center,,right,,justify);
tabindex="...",通过定义的tabindex值确定在不同元素之间获得焦点的顺序;
onfocus="...",当元素获得焦点时发生的事件;
onblur="...",当元素失去焦点时发生的事件;
onselect="...",当元素被选中时发生的事件;
onchang="...",当元素状态被改变时发生的事件;
accept="...",允许上载的文件类型.
scr="...",定义在帧中显示的内容的来源;
frameborder="...",定义帧之间的边界(0或1);
align="...",被反对,控制对齐方式(left,,center,,right,,justify);
height="...",帧的高度,width="..."帧的宽度;
架是将一个页面划分为若干个窗口, 每一个窗口都是独立;
要实现框架必须使用框架型的DTD;
框架就像一个窗户是由窗格和玻璃组成;
框架中不能有body及body子标记;
框架是由框架集(frameset)和框架页(frame)组成;
格式:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</head>
<frameset>
<frame />
<frame />
</frameset>
</html>
框架标签:
<frameset></frameset> 放在一个框架文档的<body>标签之前, 也可以嵌在其他框架文档中;
框架中不能有body及body子标记, 框架是由框架集(frameset)和框架页(frame)组成;
<frameset rows="value,value"> 定义一个框架内的行数, 可用像素值或高度百分比;
<frameset cols="value,value"> 定义一个框架内的列数, 可用像素值或宽度百分比;
<frameset cols="120,*"></frameset>
<frameset cols="25%,50%,25%"></frameset>
<frameset rows="120,*"></frameset>
<frameset rows="25%,50%,25%"></frameset>
frameborder 框架边框显示属性
该属性用于指定框架周围是否显示边框, 取值有1(显示边框, 默认值)和0(不显示边框)。
framespacing 该属性用于指定框架之间的间隔, 以像素为单位。
如果不设置该属性,则框架之间没有间隔。
border 指定边框宽度属性
该属性用于指定边框的宽度, 只有在frameborder属性为1时有效。
bordercolor 指定边框颜色
<noframes></noframes> 定义在不支持框架的浏览器中显示什么提示;
<html>
<frameset cols="25%,50%,25%">
<frame src="frame_a.html"/>
<frame src="frame_b.html"/>
<frame src="frame_c.html"/>
<noframes>
<body>您的浏览器无法处理框架!</body>
</noframes>
</frameset>
</html>
<frame> 定义一个框架内的单一窗或窗区域;
<frame src="url"> 规定框架内显示的html文档;
<frame name="name"> 命名框架或区域以便别的框架可以指向它;
<frame marginwidth=""> 定义框架左右边缘的空白大小,必须大于等于1;
<frame marginheight=""> 定义框架上下边缘的空白大小,必须大于等于1;
<frame scrolling=""> 设置框架是否有滚动栏,其值可以是"yes","no",或"auto";
<frame noresize> 禁止用户调整一个框架的大小;其值只有一个"noresize"
<frame src="frame_a.htm" longdesc="w3school.txt" /> longdesc属性指向了带有框架内容长描述的页面:
<iframe></iframe> 创建一个内联的框架;
src 定义在框架中显示的内容的来源;
frameborder 规定是否显示框架周围的边框。(0或1);
align 控制对齐方式(left、right、middle、top、bottom);
height 框架的高度,
width 框架的宽度;
marginheight 定义 iframe 的顶部和底部的边距。
marginwidth 定义 iframe 的左侧和右侧的边距。
scrolling 规定是否在 iframe 中显示滚动条(yes、no、auto)。
name 规定 iframe 的名称。
bordercolor 指定边框颜色
<iframe src ="/index.html" frameborder="0" bordercolor="red">
<p>Your browser does not support iframes.</p>
</iframe>
关于框架集<frameset></frameset>中属性cols rows分割方法理解
<frameset cols="40%,2*,*"> 将窗口分为40%,40%,20%
<frameset cols="100,200,*"> 将窗口分为100像素,200像素和剩下的700像素
<frameset cols="100,*,*"> 将100像素以外的窗口平均分配
<frameset cols="*,*,*"> 将窗口分为三等份
<frameset rows="*,*,*"> 总共有三个按列排列的帧,每个帧占整个浏览器窗口的1/3
<frameset cols="40%,*,*"> 总共有三个按行排列的帧,第一个帧占整个浏览器窗口的40%,剩下的空间平均分配给另外两个帧
<frameset rows="40%,*" cols="50%,*,200">
以上"*"表示剩余部分
总共有六个帧,先是在第一行中从左到右排列三个帧,然后在第二行中从左到右再排列三个帧,即两行三列,
所占空间依据rows和cols属性的值,其中200的单位是像素
属性汇总:
frameset(框架集)
rows 它是将框架集划分为上下型
cols 它是将框架划分为左右型
border 是用于设置框架的边框粗细
frameborder 是用于设置是否显示边框, 取值:yes|no或1|0
bordercolor 用于设置框架边框的颜色
frame(框架页)
noresize 是否可以调整小窗口的大小
name 用于设置小窗口的名称
src 小窗口的url
scroll 是否显示滚动条 yes|no|auto
实例: iframe满屏方案
、网络加载
通过dns-prefetch属性可以让浏览器提前解析资源或接口对应的服务器IP地址,避免在请求中发起DNS解析请求,节省请求时间
利用preload,prefetch,preconnect属性我们可以在<head>内部声明式的书写资源获取请求,提前加载非首屏但又较重要的资源,避免在满足首屏优先加载的情况下,反而忽略了其他次重要资源的加载
HTTP缓存包括强缓存(Cache-Control,Expire)和协议缓存(Last-modified, Etag)两种。其中,协议缓存资源每次都会向服务端发送请求来判断资源是否过期,未过期则返回304,在网络极其卡顿的情况下,这个304请求有可能堵塞整个页面的资源加载
移动端的网络资源有限,为了尽快让用户看到有意义的首屏,我们需要尽可能的保持首屏需要加载的资源越小越好
将首屏关键样式内联至页面中,保证最快速度看到带有基本样式的首屏,避免用户端出现较长时间的白屏时间
内联关键代码也是为了让用户第一时间感受到页面已经加载成功,但是内联代码不能将所有代码都内联至HTML中,因为这些代码每次都会伴随HTML下载下来,加大HTML文件的体积,也无法让代码在不同的网页间提供复用的功能
GZIP对于文本资源(JS,CSS文件)有较高的压缩效率,通常可以减少70%的体积
增大加载时间,用户体验较差
移动端网络资源有限,为了让这些不重要的代码不影响首屏渲染,可以延迟一小段时间再加载
每一次AJAX请求都会将当前域名中的所有COOKIE值传递给服务端
页面发送请求时,会先经过SW的脚本,这样可以让我们通过编程的方式来制定我们需要缓存的文件,同时,缓存在service worker中的文件,可以让用户离线访问
HTTP2.0协议可以提升网络链路的复用性,提升资源加载效率
标签的语义化提高代码的可维护性,在页面加载CSS失败时也不至于很难看。同时,需要保持标签最小化,无意义的标签可以利用伪类表示
减少网络传输的文件大小
iframe 内资源的下载进程会阻塞父页面静态资源的下载与 CSS 及 HTML DOM 的解析
减少网络传输的文件大小
按需加载,减少网络传输的文件大小
可能阻塞页面的加载
提高解析css的效率
自动帮助我们添加浏览器头,避免意想不到的浏览器兼容性问题
CSS的解析过程是从右往左逆向匹配,使用CSS通配符会增加解析的计算量
box-shadow、border-radius、filter这些属性绘制前都需要浏览器进行大量的计算
width、height、top、left、right、bottom、margin等属性的变更都会触发页面的重排,在移动端环境中频繁的重排会导致动画卡顿
在移动端兼容性好、性能好、更具有可操控性
setTimeout和setInterval在动画执行存在性能问题,且无法准确的控制帧数
对开启GPU硬件加速的标签,浏览器将把它提升到一个单独的图层,并通过GPU进行预处理
will-change的作用告诉浏览器哪些属性将要变化,让他可以提前做好准备
减少代码大小,根据页面需求按需加载资源,最下化用户需要加载的资源大小加快页面展示的速度
节省内存和减少监听事件的注册
避免频繁的无效的操作,避免页面的卡顿
setInterval可能存在指令堆积的问题,导致页面卡顿
页面的重排重绘很耗性能,尤其是重排
移动端网络条件有限,图片越大加载时间越长,合理使用工具压缩图片,可以兼顾图片质量和图片大小
减少文件传输的大小,避免出现图片尺寸使用不当的问题,小icon用大图
减少http请求数,不过当我们的http协议升级至1.1,2.0之后,雪碧图减少http请求数的效果并不明显
避免用户提前加载过多无用的资源,浪费用户流量
在较大像素比的屏幕下加载小尺寸的图片,图片会模糊;在较小像素比的屏幕下加载大尺寸的图片,会浪费用户流量和cdn流量
将图片转换成base64格式可以减少http请求数量,但是,不能对较大尺寸的图片使用base64格式,因为base64算法会提升三分之一的文件大小
我们只需要页面需要的字体文件即可,不需要浪费流量加载用户不需要的资源
使用font-display属性可以避免在字体加载过程中,不显示文字的问题
快速完美的还原界面
加强用户体验,加速首屏体验,通过有意义的ui让用户提前得到反馈
Google推出的网页性能跑分工具,可以较全面的了解网站的性能
帮助我们快速找到首屏未使用的代码
这里以webpack举例,使用Scope Hoisting后打包的文件,文件体积更小,代码运行时创建的函数作用域更少,提升JS的启动速度
我是一个莫得感情的代码搬运工,每周会更新1至2篇前端相关的文章,有兴趣的老铁可以扫描下面的二维码关注或者直接微信搜索前端补习班关注。
精通前端很难,让我们来一起补补课吧!
*请认真填写需求信息,我们会在24小时内与您取得联系。