一. XHTML 与 HTML 有什么区别
- XHTML元素必须被正确的嵌套
- XHTML元素必须被关闭,单标签也得关闭. 例如
<br/>
- 标签名必须使用小写
- XHTML文档必须具备根元素
二.Doctype的作用?标准模式与混杂模式的区别?两种模式的触发条件是什么?
- Doctype是文档类型声明,具有三种DTD类型,分别是:标准模式是指浏览器根据W3C的标准去解析页面; 混杂模式是一种向后兼容的解析方法,可以实现IE5.5版本以下版本浏览器的渲染模式.
- 严格版本
- 过渡版本
- 基于框架的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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
.child{
margin: 0 auto;
width:50px;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">Demo</div>
</div>
</body>
</html>
2.采用absolute + transform的方式(绝对定位+水平移动)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
.parent{
position : relative;
}
.child{
position: absolute;
left:50%;
top:50%;
transform: translate(-50%,-50%);
}
</style>
</head>
<body>
<div class="parent">
<div class="child">Demo</div>
</div>
</body>
</html>
3.采用inline-block + text-align + table-cell + vertical-align(单元格方式)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
.parent{
display:table-cell;
vertical-align:middle;
text-align:center;
width:200px; /*如果使用该方法,父盒子得设定宽度*/
}
.child{
display:inline-block;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">Demo</div>
</div>
</body>
</html>
七.src与href的区别
- src : src指向外部资源的位置, 指向的内容将会被嵌入到文档中当前标签所在位置; 在请求src资源时会将其指向的资源下载并应用到文档中, 如js脚本,img图片和iframe等元素.当浏览器解析到该元素时, 会暂停其他资源的下载和处理,直到将该资源加载,编译,执行完毕,类似于将所有指向资源嵌入当前标签中.
- href : href指向网络资源所在位置,建立和当前元素(锚点)和当前文档(链接)之间的链接, 如果我们在文档中添加 <link hrf = "common.css" rel="stylesheet"> ,那么浏览器会识别该文档为CSS文件, 就会并行下载资源并且不会停止当前文档的处理.
八. 简述一下你对HTML语义化的理解
- 语义化让页面的内容结构化,结构更加清晰,便于对浏览器,搜索引擎解析;
- 即使在没有样式的CSS的情况下也能以一种文档格式显示,并且使容易阅读懂
- 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,有利于SEO
- 使阅读源代码的人更容易将网站分块,便于阅读,维护和理解.
九. 对Web标准以及W3C的理解和认识
- 标签闭合,标签小写,不乱嵌套,提高搜索机器人搜索几率,使用外链CSS和js脚本,结构行为表现的分离.
- 文件下载与页面速度更快,内容能被更多的用户所访问, 内容能被广泛的设备所访问,更少的代码和组件
- 容易维护, 改版方便, 不需要变动页面内容, 提供打印版本而不需要复制内容, 提高网站易用性.
十. iframe的作用
iframe是用来在网页中插入第三方网页,早起的页面使用iframe主要是用于到导航栏这种很多页面都相同的部分, 这样可以在切换页面的时候避免重复加载.现在很少使用了.
嗯,就酱~~
参考 https://www.jianshu.com/p/b1901469e0fc