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
提供的,只能用于加载css
link
引用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
强调的文本
渐进增加和优雅降级
渐进增强:一开始就针对低版本浏览器进行页面构建,再针对高版本浏览器进行效果交互追加功能
优雅降级:一开始就开始构建完整功能,然后针对低版本浏览器修复