doctype的作用。标准模式和兼容模式的区别
doctype声明位于html文档第一行。告知浏览器解析器用什么标准解析该文档
这两种模式都是以浏览器支持的最高标准来运行的。在兼容模式中,页面向后兼容,模拟老式浏览器行为,以防止站点无法工作。
HTML5 为什么只需要写 ,而不需要引入 DTD?
因为HTML5不基于SGML,所以不需要对DTD进行引用,但需要doctype来规范浏览器的行为
SGML 、 HTML 、XML 和 XHTML 的关系?
SGML是标准通用标记语言,是一种定义电子文档结构和描述的国际标准语言。是所有电子文档标记语言的起源HTML是超文本标记语言,主要是用于规定怎么显示网页XML是可扩展标记语言,XML和HTML最大的区别是XML标签可以自己创建,数量无限。而HTML是不可以的XHTML是现在基本上所有网页用的标记语言,本质其实和HTML没什么区别,就是比HTML更加严格
DTD介绍
DTD文档类型定义是一组机器可读的规则。它们定义XML或HTML特定版本中所有允许的元素和它们的属性层次关系的定义。在解析网页时,浏览器使用这些规则检查页面有效性并且采取相应的措施
行内元素和块级元素的定义,以及区别
属性值block则是块级元素,而inline则是行内元素。块级元素会占据一定的空间,但行内元素没有独立的空间,是依附于块级元素存在的。
区别
- 格式,默认情况下行内元素不会换行
- 内容,行内元素只能包含文本和其他行内元素。块级则既可以包含行内元素还可以包含块级元素
- 行内元素设置
width/height无效
页面导入样式时,使用link和@import有什么区别?
link除了加载css外还能定义rel等属性,而import是css提供的,只能用于加载csslink引用css时,在页面载入时同时加载。而import需要页面完全载入后才加载link是XHTML标签,无兼容问题。而import对低版本浏览器不支持link支持使用js控制DOM改变样式,而import不支持
行内元素有哪些 块元素 空元素
- 行内元素:b span a img input select strong
- 块级元素:div li ol ul dl dd dt h1 h2 p
- 空元素:br hr img input link meta(标签内没有内容的HTML标签称为空元素)
浏览器内核的理解
主要分为两部分:渲染引擎和JS引擎
渲染引擎的职责就是渲染,即浏览器窗口中所显示的请求内容
JS引擎:解析和执行JS来实现网页的动态效果
HTML5新特性
绘画 canvas
媒体 video audio
本地离线储存 localstorage seesionstorage
语义化更好的元素 article footer header nav section 等
表单控件 email url date time search 等
新技术 websocket
简述一下你对html语义化的了解
用正确的标签做正确的事,html语义化让内容更加结构化,更清晰,便于浏览器解析。即使在没有css的情况下,也以一种文档格式显示,并且容易阅读的。搜索引擎的爬虫也依赖于html标记来确定上下文的关系,利于seo。使阅读源代码的人更容易将网站分块,便于阅读理解
input和textarea的区别
input是一个单行输入框,具有value属性,但是它不能自动换行。而textarea是多行输入框,没有value属性,可以自定换行
div模拟textarea
<div class="box" contenteditable="true></div>
.box{
width:200px;
min-height:60px;
max-height:300px;
_height:60;
overflow-x:hidden;
overflow-y:auto;
word-wrap:break-word;
outline:0;
-webkit-user-modify:read-write-plaintext-only;
border:1px soli red;
}
移动端忽略页面中的数字识别为电话号码
<meta name="format-detection" content="telephone=no">
iframe有哪些缺点
会阻塞页面加载、搜索引擎无法解读这种页面,不利于seo。iframe和主页面共享连接池,而浏览器对相同域有连接限制,所以会影响页面的并行加载
title与h1的区别、b与strong的区别、i与em的区别?
title属性没有明确意义,只表示标题。而h1代表有层次的标题
strong表明重点内容,有加强语气的成分 b表示强调内容
i内容展现为斜体 em强调的文本
渐进增加和优雅降级
渐进增强:一开始就针对低版本浏览器进行页面构建,再针对高版本浏览器进行效果交互追加功能
优雅降级:一开始就开始构建完整功能,然后针对低版本浏览器修复