[toc] ## 0.理解HTML的语义化 **什么是语义化?** 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。 **为什么要语义化?** 1. 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看; 2. 用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用; 3. 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重; 4. 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页; 5. 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。 > [参考](http://www.html5jscss.com/html5-semantics-section.html) ## 1.简述一下src与href的区别 **href** 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。 **src** 是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。 ## 2.行内元素有哪些?块级元素有哪些? 空(void)元素有那些? **行内元素**:a、b、span、img、input、strong、select、label、em、button、textarea **块级元素**:div、ul、li、dl、dt、dd、p、h1-h6、blockquote 空元素:即系没有内容的HTML元素,例如:br、meta、hr、link、input、img ## 3.HTML中alt和title怎样实现换行及空格 换行: `&#13;` (ASCII码回车) 回车: `&#10;` (ASCII码换行) ## 4.如何设置网页自动跳转 `<meta http-equiv="refresh" content="0.0001;url=http://www.rengefood.com/1.htm">`