什么是HTML?
- HTML指的是超文本标记语言
- HTML不是一种编程语言,而是一种标记语言
- 标记语言是一套标记标签
- HTML使用标记标签来描述网页
HTML、XML、XHTML 有什么区别
- HTML,超文本标记语言,是语法较为松散的、不严格的Web语言;
- XML,可扩展标记语言,设计宗旨是传输和存储数据,焦点是数据内容,而HTML被设计为显示数据,焦点是数据的外观,XML的标签没有被预定义,需要自行定义标签;
- XHTML,可扩展超文本标记语言,是以XML应用的方式定义的HTML,是更严格更纯净的HTML版本
怎样理解 HTML 语义化
什么叫HTML语义化
用合理的HTML标签以及其特有的属性去格式化文档内容.
HTML语义化的好处
-
优化SEO
更好地支持搜索引擎的爬虫, 使搜索引擎抓取到页面上更多的有效信息+ -
对盲人阅读器和其它阅读器友好
-
HTML代码的可读性, 可维护性, 开发效率更高(减少规范不一致带来的沟通成本)
-
浏览器们都在推动语义化, 遵循HTML语义化可能会得到更好的展示效果
语义化的含义就是根据内容选择合适的标签,html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析。在没有样式CCS情况下也能呈现较好的内容结构与代码结构。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。使阅读源代码的人对网站更容易将网站分块,便于阅读维护。
怎样理解内容与样式分离的原则
- 写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容,之后再去写样式
- 写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化
- HTML 内不允许出现属性样式,尽量不要出现行内样式
有哪些常见的meta标签
meta的常用属性
提供HTML文档的元数据, 常用于告知浏览器如何显示内容和搜索引擎优化
常见的meta标签
申明编码:
<meta charset="utf-8">
优先使用 IE 最新版本和 Chrome
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- 关于X-UA-Compatible -->
<meta http-equiv="X-UA-Compatible" content="IE=6" ><!-- 使用IE6 -->
<meta http-equiv="X-UA-Compatible" content="IE=7" ><!-- 使用IE7 -->
<meta http-equiv="X-UA-Compatible" content="IE=8" ><!-- 使用IE8 -->
浏览器内核控制
国内浏览器很多都是双内核(webkit和Trident),webkit内核高速浏览,IE内核兼容网页和旧版网站。 而添加meta标签的网站可以控制浏览器选择何种内核渲染。
<meta name="renderer" content="webkit|ie-comp|ie-stand">
禁止浏览器从本地计算机的缓存中访问页面内容
这样设定,访问者将无法脱机浏览。
<meta http-equiv="Pragma" content="no-cache">
避免百度转码申明
用百度打开网页可能会对其进行转码(比如贴广告),避免转码可添加如下meta
<meta http-equiv="Cache-Control" content="no-siteapp" />
用于SEO优化
页面关键词
<meta name="keywords" content="your tags" />
设置搜索引擎索引方式
<meta name="robots" content="index,follow" />
<!--
all:文件将被检索,且页面上的链接可以被查询;
none:文件将不被检索,且页面上的链接不可以被查询;
index:文件将被检索;
follow:页面上的链接可以被查询;
noindex:文件将不被检索;
nofollow:页面上的链接不可以被查询。
-->
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
-
<!DOCTYPE>声明叫做文件类型定义(DTD),文档声明的作用为了告诉浏览器该文件的类型,让浏览器解析器知道应该用哪个规范来解析文档。
-
严格模式是指,浏览器按 W3C 标准解析执行代码;混杂模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以称之为混杂模式。
-
<!doctype html> 是告诉浏览器按照HTML5的规范来渲染页面
浏览器乱码的原因是什么?如何解决
造成html网页乱码原因主要是html源代码内中文字内容与html编码不同造成。但无论是哪种情况造成乱码在网页开始时候都需要设置网页编码。
- 比如网页源代码是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。
- html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
- 浏览器不能自动检测网页编码,造成网页乱码。
解决方法:指明浏览器保存的编码方式,比如保存的是uft-8,就用meta标签指明<meta charset="utf-8">
常见的浏览器有哪些,什么内核
浏览器内核指的是一个浏览器最核心的部分——“Rendering Engine”,直译这个词汇叫做“渲染引擎”,不过我们也常称其为“排版引擎”、“解释引擎”。这个引擎的作用是帮助浏览器来渲染网页的内容,将页面内容和排版代码转换为用户所见的视图。
注:有时候我们所说的“浏览器内核”甚至“渲染引擎”,其实除了渲染引擎,也悄悄包含了javascript引擎,如WebKit,它由渲染引擎WebCore和javascript引擎JSCore组成。
- Internet Explorer采用的内核为Trident
Trident内核的常见浏览器有:[1]
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);[1]
360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)猎豹极轻浏览器,360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)猎豹安全浏览器(1.0-4.2版本为Trident+Webkit,4.3及以后版本为Trident+Blink)猎豹极轻浏览器,傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)、百度浏览器(早期版本)、世界之窗浏览器[2]
(最初为IE内核,2013年采用Chrome+IE内核)、2345浏览器、腾讯TT、淘宝浏览器、采编读浏览器、搜狗高速浏览器(1.x为Trident,2.0及以后版本为Trident+Webkit)、阿云浏览器(早期版本)、瑞星安全浏览器、Slim Browser、 GreenBrowser、爱帆浏览器(12 之前版本)、115浏览器、155浏览器、闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器、海豚浏览器(iPhone/iPad/Android)、UC浏览器(Blink内核+Trident内核)等。
其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。
- Safari所用浏览器内核是WebKit
Google Chrome、360极速浏览器以及搜狗高速浏览器高速模式也使用Webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。
WebKit内核常见的浏览器:傲游浏览器3、[1]
Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器
-
Firefox浏览器使用的是Gecko内核
-
Chrome浏览器2013年放弃Chromium引擎(苹果公司WebKit的一个分支)使用最新的Blink引擎(基于WebKit2)
-
Opera为减少研发成本放弃Presto引擎,在Chrome2013年推出Blink引擎之后,Opera也转而使用Blink作为浏览器核心引擎
列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 描述 |
---|---|
<p> |
定义段落 |
<h1>to<h6> |
定义HTML标题 |
<q> |
定义短的引用 |
<em> |
定义强调文本 |
<a> |
定义锚,用于打开链接,发送邮件,段落跳转等功能 |
<blockquote> |
定义长的引用 |
<strong> |
定义语气更为强烈的强调文本 |
<div> |
div标签用于组合其他HTML元素,本身无实在意义。常用于页面的布局,比如一个展开式的广告页面 |
<img> |
定义图像 |
<!--注释--> |
注释 |
<br> |
换行 |
<table><th><tr><td> |
定义表格,表头单元格,表格中的行,表格中的单元格 |
<ul> |
无序列表 |
<ol> |
有序列表 |
<li> |
列表项 |
<dl> |
定义了定义列表,结合<dt> (定义列表中的项目) <dd> (描述列表中的项目) |
参考资料:
http://www.divcss5.com/html/h546.shtml
https://tink.gitbooks.io/fe-collections/content/ch02-html/s01-semantic.html
https://tink.gitbooks.io/fe-collections/content/ch02-html/s03-meta.html
网友评论