HTML

1. 谈谈你对 HTML5 的理解(从语义化方向延伸到新标签)

答:
HTML5的语义化指的是合理使用语义化的标签来创建页面结构,如header,footer,nav,从标签上即可以直观的知道这个标签的作用,而不是滥用div。
新增语义化标签结构标记
header 头部标签
nav 导航标签
article 内容标签
section 定义文档某个区域
aside 侧边栏标签
footer 尾部标签
在这里插入图片描述

2.块级元素和行内元素的区别(从布局,还有以及height属性上)

答:
从布局上:行内元素和其他行内元素都会在一条水平线上排列,都是在同一行的;块级元素却总是会 在新的一行,垂直向下排列,若想使其水平方向排序,可使用左右浮动(float:left/right)让其水平方向排列。

从样式上:行内元素不可以设置宽高,宽度高度随文本内容的变化而变化,但是可以设置行高(line-height),同时在设置外边距margin上下无效,左右有效,内填充padding上下无效,左右有效;块级元素可以设置宽高,并且宽度高度以及外边距,内填充都可随意控制

块级元素可以包含行内元素和块级元素,还可以容纳内联元素和其他元素;行内元素不能包含块级元素,只能容纳文本或者其他行内元素。

3.link 和 @import 的区别

答:
1.link标签除了可以加载css外,还可以做很多其他的事情,比如定义JS,定义rel连接属性等,@import只能加载CSS。

2.link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。

3.兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的 才能识别,而link标签无此问题,完全兼容。

4.使用dom控制样式时的差别。当时用JavaScript控制dom去改变样式的时候,只能使用link标签, 因为@import不是dom可以控制的(不支持)

5.@import在再次引入样式表时会产生很多的HTTP请求增大服务器压力

4.重绘和重排

一个页面由两部分组成:
DOM:描述该页面的结构
render:描述 DOM 节点 (nodes) 在页面上如何呈现

重绘repaint:当 DOM 元素的属性发生变化 (如 color) 时, 浏览器会通知 render 重新描绘相应的元素,

重排reflow:当 DOM 元素的属性发生变化如果该次变化涉及元素布局 (如 width), 浏览器则抛弃原有属性, 重新计算并把结果传递给 render 以重新描绘页面元素,

PS:重绘重排都会影响浏览器性能尽量避免(课使用读写分离,集中样式改变,)

5.defer 和 async 加载 script 的区别

async属性,表示后续文档的加载和渲染与js脚本的加载和执行是并行进行的,即异步执行;

defer属性,加载后续文档的过程和js脚本的加载(此时仅加载不执行)是并行进行的(异步),js脚本的执行需要等到文档所有元素解析完成之后,DOMContentLoaded事件触发执行之前

区别:defer属性加载过程中不执行,js脚本的执行需要在稳点所有元素解析完成后DOMContentLoaded事件触发执行之前,async属性边加载边执行

6.有了解过SEO吗?

SEO是搜索引擎的优化,利于网站的搜索排名,能让网站更靠前。百度的竞价排行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值