HTML、XML、XHTML 有什么区别:
都是标记语言
- HTML:超文本标记语言 语言较为松散,不严格的web语言;
- XML:可扩展标记语言 存储数据与结构,可扩展;
- XHTML:可扩展超文本标记语言,基于XML,作用与HTML类似,但语法更严格。
怎样理解 HTML 语义化:
根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用。
<基本上都是围绕着几个主要的标签,像标题(H1~H6)、列表(li)、强调(strong em)等等>
简单说语义化就是让机器可以好的读懂内容。
语义化可以带来的好处:
- 清晰的页面结构:去掉或样式丢失的时候,也能让页面呈现清晰的结构,增强页面的可读性。
- 支持更多的设备:屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页。 如果你使用的含语义的标记,屏幕阅读器会根据你的标签来判断网页的内容,而不是一个字母一个字母的拼写出来。
- 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息,搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重。
- 便于团队开发和维护:在团队中大家都遵循同一个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至实现模块化开发。
怎样理解内容与样式分离的原则:
- 写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容。之后再去写样式。
- HTML 内不允许出现属性样式,尽量不要出现行内样式。
- 写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化。
有哪些常见的meta标签:
标签 | 含义 |
---|---|
<mata charset="utf-8"> | 声明文档使用的字符编码 |
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> | 声明文档兼容模式,指示IE以目前可用的最高模式显示内容 |
<meta name="keywords" content="your tags"> | 定义针对搜索引擎的关键词 |
<meta name="description" content="不超过850个字符"> | 页面描述,告诉搜索引擎你的站点的主要内容 |
<<meta name="author" content="你的姓名"> | 定义网页作者 |
<meta name="revised" content="David, 2008/8/8/" /> | 定义页面的最新版本 |
<meta http-equiv="refresh" content="5"/> | 5秒刷新一次页面 |
<meta http-equiv="expires" content="Mon,12 May 2001 00:20:00 GMT"> | 用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式 |
<meta http-equiv="pragma" content="no-cache"> | 禁用缓存 |
<meta http-equiv="set-cookie" content="Mon, 12 May 2001 00:20:00 GMT"> | cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也必须使用GMT时间格式。 |
<meta name="robots" content="index,follow" /> | 搜索引擎索引方式 |
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用
严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
如何区分:浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
1、如果文档包含严格的 DOCTYPE ,那么它一般以严格模式呈现。(严格 DTD ——严格模式)
2、包含过渡 DTD 和 URI 的 DOCTYPE ,也以严格模式呈现,但有过渡 DTD 而没有 URI (统一资源标识符,就是声明最后的地址)会导致页面以混杂模式呈现。(有 URI 的过渡 DTD ——严格模式;没有 URI 的过渡 DTD ——混杂模式)
3、DOCTYPE 不存在或形式不正确会导致文档以混杂模式呈现。(DTD不存在或者格式不正确——混杂模式)
4、HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)
意义:严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式
HTML中<!DOCTYPE>标签的作用是什么呢?<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
浏览器乱码的原因是什么?如何解决
乱码产生的根本原因是你保存的编码格式和浏览器解析时的解码格式不匹配导致的。
乱码一般是英文以外的字符才会出现。
首页,在文件保存的时候你自己要清楚是用哪种编码方式保存的。如果你的文件是保存为utf-8格式,那么一定要在html 的 <head>
里添加<meta charset="utf-8">
,这句话的意思是告诉浏览器在打开这个页面的时候不要去猜了,直接用utf-8去解码。 同理,如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">
常见的浏览器有哪些,什么内核
浏览器 | 内核 |
---|---|
Internet Explorer | IE内核 |
Firefox | Gecko |
Opear | Presto |
Safari&Chromr | Webkit |
国内大部分浏览器 | IE内核 |
列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 场景 |
---|---|
head标签 | head标签是页面的“头部”, 一般来说,只有6个标签能放在<head>标签内:<title>、<meta>、<link>、<style>、<script>、<base> |
body标签 | body标签是页面的“身体” |
h1~h6标签 | 设置不同的标题 |
p标签 | 使用p标签来标记一段文字 |
标签 |
换行 |
<div>标签 | 主要用来为HTML文档内大块的内容提供结构和背景 |
<\ul>标签 | 无序列表 |
<\ol>标签 | 有序列表 |
<form>标签 | 设置一个表单 |
<\img>标签 | 设置一个图像 |