一. XHTML 与 HTML 有什么区别
XHTML元素必须被正确的嵌套
XHTML元素必须被关闭,单标签也得关闭. 例如
标签名必须使用小写
XHTML文档必须具备根元素
二.Doctype的作用?标准模式与混杂模式的区别?两种模式的触发条件是什么?
Doctype是文档类型声明,具有三种DTD类型,分别是:
严格版本
过渡版本
基于框架的HTML文档
标准模式是指浏览器根据W3C的标准去解析页面; 混杂模式是一种向后兼容的解析方法,可以实现IE5.5版本以下版本浏览器的渲染模式.
如果声明了DTD,便是标准模式,没有声明就是混杂模式.
三.介绍一下你对浏览器内核的理解?常见的浏览器内核有哪些?
浏览器内核由两个部分组成,第一部分是渲染引擎, 第二部分是Javascript解析器.
现在主流的内核有4中
Tridnet: IE浏览器, 腾讯浏览器, 遨游浏览器, 360浏览器
Gecko: Firefox浏览器
Webkit: Safari浏览器
Blinke: Chorme浏览器, Opera浏览器
四.描述一下CSS中的渐进增强, 优雅降级之间的区别?
优雅降级指的是为现代浏览器制作网站,然后保证为某些老版本的流浪器提供基于可用的体验. 新特性在老版本浏览器中会降级, 且一般会有一个分界点, 声明不支持哪些老掉牙的浏览器. 有些时候也会警告用户更换其浏览器.
渐进增强与优雅降级相反. 渐进增强一开始就针对低版本浏览器构建页面,然后再针对高级浏览器增加特效和其他交互效果.渐进增强关注内容本身.
五.清楚浮动有几种方法?
给父级元素定义高度
给父级元素添加overflow:hidden属性
在浮动元素最后添加一个空的块级元素,并给该块级元素添加{clear:both;}
给父级元素添加伪元素,代码如下
.clearfix.after{
content:".";
display:block;
height:0;
visibility:hidden;
clear:both;
}
六.水平垂直居中的方式有几种?
1.将margin-left和margin-right设置为auto
.child{
margin: 0 auto;
width:50px;
}
2.采用absolute + transform的方式(绝对定位+水平移动)
.parent{
position : relative;
}
.child{
position: absolute;
left:50%;
top:50%;
transform: translate(-50%,-50%);
}
3.采用inline-block + text-align + table-cell + vertical-align(单元格方式)
.parent{
display:table-cell;
vertical-align:middle;
text-align:center;
width:200px; /*如果使用该方法,父盒子得设定宽度*/
}
.child{
display:inline-block;
}
七.src与href的区别
src : src指向外部资源的位置, 指向的内容将会被嵌入到文档中当前标签所在位置; 在请求src资源时会将其指向的资源下载并应用到文档中, 如js脚本,img图片和iframe等元素.当浏览器解析到该元素时, 会暂停其他资源的下载和处理,直到将该资源加载,编译,执行完毕,类似于将所有指向资源嵌入当前标签中.
href : href指向网络资源所在位置,建立和当前元素(锚点)和当前文档(链接)之间的链接, 如果我们在文档中添加,那么浏览器会识别该文档为CSS文件, 就会并行下载资源并且不会停止当前文档的处理.
八. 简述一下你对HTML语义化的理解
语义化让页面的内容结构化,结构更加清晰,便于对浏览器,搜索引擎解析;
即使在没有样式的CSS的情况下也能以一种文档格式显示,并且使容易阅读懂
搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,有利于SEO
使阅读源代码的人更容易将网站分块,便于阅读,维护和理解.
九. 对Web标准以及W3C的理解和认识
标签闭合,标签小写,不乱嵌套,提高搜索机器人搜索几率,使用外链CSS和js脚本,结构行为表现的分离.
文件下载与页面速度更快,内容能被更多的用户所访问, 内容能被广泛的设备所访问,更少的代码和组件
容易维护, 改版方便, 不需要变动页面内容, 提供打印版本而不需要复制内容, 提高网站易用性.
十. iframe的作用
iframe是用来在网页中插入第三方网页,早起的页面使用iframe主要是用于到导航栏这种很多页面都相同的部分, 这样可以在切换页面的时候避免重复加载.现在很少使用了.