整理前端面试题(一):HTML和CSS基础

一. XHTML 与 HTML 有什么区别

  1. XHTML元素必须被正确的嵌套
  2. XHTML元素必须被关闭,单标签也得关闭. 例如
  3. 标签名必须使用小写
  4. XHTML文档必须具备根元素

二.Doctype的作用?标准模式与混杂模式的区别?两种模式的触发条件是什么?

  1. Doctype是文档类型声明,具有三种DTD类型,分别是:
    • 严格版本
    • 过渡版本
    • 基于框架的HTML文档
  2. 标准模式是指浏览器根据W3C的标准去解析页面; 混杂模式是一种向后兼容的解析方法,可以实现IE5.5版本以下版本浏览器的渲染模式.
  3. 如果声明了DTD,便是标准模式,没有声明就是混杂模式.

三.介绍一下你对浏览器内核的理解?常见的浏览器内核有哪些?

  1. 浏览器内核由两个部分组成,第一部分是渲染引擎, 第二部分是Javascript解析器.
  2. 现在主流的内核有4中
    • Tridnet: IE浏览器, 腾讯浏览器, 遨游浏览器, 360浏览器
    • Gecko: Firefox浏览器
    • Webkit: Safari浏览器
    • Blinke: Chorme浏览器, Opera浏览器

四.描述一下CSS中的渐进增强, 优雅降级之间的区别?

优雅降级指的是为现代浏览器制作网站,然后保证为某些老版本的流浪器提供基于可用的体验. 新特性在老版本浏览器中会降级, 且一般会有一个分界点, 声明不支持哪些老掉牙的浏览器. 有些时候也会警告用户更换其浏览器.

渐进增强与优雅降级相反. 渐进增强一开始就针对低版本浏览器构建页面,然后再针对高级浏览器增加特效和其他交互效果.渐进增强关注内容本身.


五.清楚浮动有几种方法?

  1. 给父级元素定义高度
  2. 给父级元素添加overflow:hidden属性
  3. 在浮动元素最后添加一个空的块级元素,并给该块级元素添加{clear:both;}
  4. 给父级元素添加伪元素,代码如下
.clearfix.after{
     content:".";
     display:block;
     height:0;
     visibility:hidden;
     clear:both;        
}

六.水平垂直居中的方式有几种?

1.将margin-left和margin-right设置为auto



    
        
        
    
    

    
Demo

2.采用absolute + transform的方式(绝对定位+水平移动)



    
        
        
    
    

    
Demo

3.采用inline-block + text-align + table-cell + vertical-align(单元格方式)



    
        
        
    
    

    
Demo

七.src与href的区别

  1. src : src指向外部资源的位置, 指向的内容将会被嵌入到文档中当前标签所在位置; 在请求src资源时会将其指向的资源下载并应用到文档中, 如js脚本,img图片和iframe等元素.当浏览器解析到该元素时, 会暂停其他资源的下载和处理,直到将该资源加载,编译,执行完毕,类似于将所有指向资源嵌入当前标签中.
  2. href : href指向网络资源所在位置,建立和当前元素(锚点)和当前文档(链接)之间的链接, 如果我们在文档中添加,那么浏览器会识别该文档为CSS文件, 就会并行下载资源并且不会停止当前文档的处理.

八. 简述一下你对HTML语义化的理解

  1. 语义化让页面的内容结构化,结构更加清晰,便于对浏览器,搜索引擎解析;
  2. 即使在没有样式的CSS的情况下也能以一种文档格式显示,并且使容易阅读懂
  3. 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,有利于SEO
  4. 使阅读源代码的人更容易将网站分块,便于阅读,维护和理解.

九. 对Web标准以及W3C的理解和认识

  1. 标签闭合,标签小写,不乱嵌套,提高搜索机器人搜索几率,使用外链CSS和js脚本,结构行为表现的分离.
  2. 文件下载与页面速度更快,内容能被更多的用户所访问, 内容能被广泛的设备所访问,更少的代码和组件
  3. 容易维护, 改版方便, 不需要变动页面内容, 提供打印版本而不需要复制内容, 提高网站易用性.

十. iframe的作用

iframe是用来在网页中插入第三方网页,早起的页面使用iframe主要是用于到导航栏这种很多页面都相同的部分, 这样可以在切换页面的时候避免重复加载.现在很少使用了.

你可能感兴趣的:(整理前端面试题(一):HTML和CSS基础)