html和css面试题

1、html 语义化是什么?

当页面样式加载失败的时候能够让页面呈现出清晰的结构
有利于 seo 优化,利于被搜索引擎收录(更便于搜索引擎的爬虫程序来识别) 便于项目的开发及维护,使 html 代码更具有可读性,便于其他设备解析。

2、为什么要初始化样式?

由于浏览器兼容的问题,不同的浏览器对标签的默认样式值不同,若不初始化会造成不同浏 览器之间的显示差异

但是初始化 CSS 会对搜索引擎优化造成小影响

3、对 WEB 标准以及 W3C 的理解与认识

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

4、html5 有哪些新特性、移除了那些元素?如何处理 HTML5 新标签的浏览器兼 容问题?如何区分 HTML 和 HTML5?

新特性:
1. 拖拽释放(Drag and drop) API
2. 语义化更好的内容标签(header,nav,footer,aside,article,section)3. 音频、视频 API(audio,video)
4. 画布(Canvas) API
5. 地理(Geolocation) API
6. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; 7. sessionStorage 的数据在浏览器关闭后自动删除
8. 表单控件,calendar、date、time、email、url、search
9. 新的技术 webworker, websocket, Geolocation

移除的元素:
1. 纯表现的元素:basefont,big,center,font, s,strike,tt,u; 2. 对可用性产生负面影响的元素:frame,frameset,noframes;

支持 HTML5 新标签:
1. IE8/IE7/IE6 支持通过 document.createElement 方法产生的标签,可以利用这一特性 让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当 然最好的方式是直接使用成熟的框架、使用最多的是 html5shim 框架):

<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script> <![endif]-->
如何区分:
DOCTYPE 声明新增的结构元素、功能元素

5、简述 readyonly 与 disabled 的区别

Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别,总结如下:

Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。

但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit button却是可以使用的)。

6、div模拟textarea实现高度自增长

<div id="textarea" contenteditable="true"></div>
#textarea {
 width:300px;
 border:1px solid #ccc;
 min-height:150px;
 max-height:300px;
 overflow: auto;
 font-size: 14px;
 outline: none; 
}

7、每个 HTML 文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?

<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏 览器文档使用哪种 HTML 或 XHTML 规范。(重点:告诉浏览器按照何种规范解析页面)

8、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

分为 4 个步骤:
1. 当发送一个 URL 请求时,不管这个 URL 是 Web 页面的 URL 还是 Web 页面上每个资源 的 URL,浏览器都会开启一个线程来处理这个请求,同时在远程 DNS 服务器上启动一个 DNS 查询。这能使浏览器获得请求对应的 IP 地址。
2. 浏览器与远程 Web 服务器通过 TCP 三次握手协商来建立一个 TCP/IP 连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间 传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由 客户端发出该请求已经被接受的报文。
3. 一旦 TCP/IP 连接建立,浏览器会通过该连接向远程服务器发送 HTTP 的 GET 请求。远程服务器找到资源并使用 HTTP 响应返回该资源,值为 200 的 HTTP 响应状态表示一个正 确的响应。
4. 此时,Web 服务器提供资源服务,客户端开始下载资源。

9、ajax 请求的时候 get 和 post 方式的区别

get一般用来进行查询操作,url地址有长度限制,请求的参数都暴露在url地址当中, 如果传递中文参数,需要自己进行编码操作,安全性较低。

post 请求方式主要用来提交数据,没有数据长度的限制,提交的数据内容存在于 http 请求体中,数据不会暴漏在 url 地址中。

10、HTTP 状态码都有那些。

1.消息2.成功3.重定向4.请求错误5.服务器错误

304:响应禁止包含消息体,如果客户端发送了一个带条件的GET请求且该请求已经被允许,而文档的内容并没有改变,则服务器应该返回这个状态码

305:被请求的资源必须通过指定的代理才能被访问

200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
403 Forbidden //服务器收到请求,但是拒绝提供服务
404NotFound //请求资源不存在,输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503ServerUnavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

11、css优先级算法如何计算

!important > id > class > 标签

!important 比 内联优先级高

*优先级就近原则,样式定义最近者为准;

*以最后载入的样式为准;

12、前端页面由哪三层组成?

行为层js,表示层css,结构层js

13、简述 ajax 的过程。

1. 创建 XMLHttpRequest 对象,也就是创建一个异步调用对象
2. 创建一个新的 HTTP 请求,并指定该 HTTP 请求的方法、URL 及验证信息 3. 设置响应 HTTP 请求状态变化的函数
4. 发送 HTTP 请求
5. 获取异步调用返回的数据
6. 使用 JavaScript 和 DOM 实现局部刷新

14、阐述一下异步加载。

1. 异步加载的方案: 动态插入 script 标签
2. 通过 ajax 去获取 js 代码,然后通过 eval 执行 3. script 标签上添加 defer 或者 async 属性
4. 创建并插入 iframe,让它异步执行 js

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值