关于HTML

作者: 饥人谷_有点热 | 来源:发表于2017-05-12 21:07 被阅读0次

    html和xhtml和xml的区别

    1. html即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范;

    2. xhtml即是升级版的html(Extensible Hyper Text Markup Language),对html进行了规范,编码更加严谨纯洁,也是一种过渡语言,html向xml过渡的语言;

    3. xml即时可扩展标记语言(Extensible Markup Language),是一种跨平台语言,编码更自由,可以自由创建标签。

    网页编码按照html>>xhtml>>xml这个过程发展。

    怎样理解 HTML 语义化

    语义化的含义就是用正确的标签做正确的事情,html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

    怎样理解内容与样式分离的原则

    (1)网页分离

    一个网页分为三个部分:Html——结构,css——表现,javascrip——行为。内容也就是html,样式也就是css。所以内容和样式的分离,就是指在网页编码的过程中,要将html和css两大部分分开。

    (2)如何实现

    写HTML的时候先不管样式,重点放在HTML的结构和语义化上,让HTML能提现页面结构或者内容,,然后进行 css 样式设置,减少 HTML 与 CSS 契合度(即内容与样式分离) ,写JS的时候,尽量不要用JS去直接操作样式,而是通过给元素添加删除class来控制样式变化(即行为分离)。

    (3)分离原则的优点

    • 浏览器加载网页页面速度变快。分离原则下,大部分页面代码写在了CSS当中,页面体积容量变得更小。
    • 网页修改设计时,效率、省时。根据html标签内ID或class的标记,到CSS里找到相应的ID或class,可以快速替换指定位置的样式,不会破坏页面架构和其他部分的样式。
      典型的应用就是网页换肤,使用相同的 html 结构,不同的 css 样式。
    • 更好地被搜索引擎收录。基于内容与样式分离的原则,html的语义化就是首要考虑的,网页中语义化的标签代码就会更加适合搜索引擎。
    • css样式的分离,它可以根据不同的浏览器,达到显示效果的统一。保证网页架构不变形的前提下,放心在不同浏览器渲染显示样式。

    有哪些常见的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">
    国内双核浏览器默认内核模式如下:

    1. 搜狗高速浏览器、QQ浏览器:IE内核(兼容模式)
    2. 360极速浏览器、遨游浏览器:Webkit内核(极速模式)

    禁止浏览器从本地计算机的缓存中访问页面内容
    这样设定,访问者将无法脱机浏览
    <meta http-equiv="Pragma" content="no-cache">
    站点适配
    主要用于PC-手机页的对应关系
    <meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">

    • [wml|xhtml|html5]
      根据手机页的协议语言,选择其中一种
    • url="url"
      后者代表当前PC页所对应的手机页URL,两者必须是一一对应关系。

    用于SEO优化

    页面关键词
    每个网页应具有描述该网页内容的一组唯一的关键字, 不要太短也不要太长
    <meta name="keywords" content="your tags" />
    页面描述
    每个网页都应该有一个不超过150个字符的页面描述
    <meta name="description" content="150 words" />

    移动设备

    viewport
    viewport能优化移动浏览器的显示。 如果不是响应式网站,不要使用initial-scale或者禁用缩放。

    • 大部分4.7-5寸设备的viewport宽设为360px
    • 5.5寸设备设为400px
    • iphone6设为375px;ipone6 plus设为414px
      <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>

    width=device-width 会导致 iPhone 5 添加到主屏后以 WebApp 全屏模式打开页面时出现黑边

    • width 宽度
      数值 或 device-width, 范围从200 到 10000,默认为 980 像素
    • height 高度
      数值 或 device-height, 范围从 223 到 10000
    • initial-scale 初始的缩放比例
      范围从0 到10
    • minimum-scale 允许用户缩放到的最小比例
    • maximum-scale 允许用户缩放到的最大比例
    • user-scalable 用户是否可以手动缩(user-scalable=no 或者 user-scalable=yes)

    注意,很多人使用initial-scale=1到非响应式网站上,这会让网站以100%宽度渲染,用户需要手动移动页面或者缩放。 如果和initial-scale=1同时使用user-scalable=no或maximum-scale=1,则用户将不能放大/缩小网页来看到全部的内容。
    WebApp全屏模式
    启用全屏模式, 伪装app,离线应用。
    <meta name="apple-mobile-web-app-capable" content="yes" />

    更多用法可以点击参考链接

    文档声明的作用?

    DOCTYPE声明的作用是指出阅读程序应该用什么规则集来解释文档中的标记。不正确的doctype声明经常导致网页不正确显示,或者导致它们根本不能显示。

    严格模式和混杂模式指什么?

    • 严格模式(推荐)现在也称为标准模式,在该模式下,浏览器会严格按照 HTML 和 CSS 标准来解析、渲染你的文档。
    • 混杂模式(不推荐)的由来是一个历史问题。在互联网早期,网页一般写成两个版本:一个写给网景公司的 Navigator浏览器,一个写给微软公司的IE浏览器。当W3C制定了 Web 标准后,这两个浏览器不能马上开始按标准来解析渲染页面,因为这样会破坏当时大部分页面的显示效果。所以各浏览器就引入了混杂模式,在该模式下,浏览器会模拟Navigator 4和IE5的非标准行为来解析渲染页面,这样做就是为了兼容在W3C标准出现之前就存在的那些“不标准”的页面。

    <!doctype html> 的作用?

    <!doctype html> 的作用就是让浏览器进入标准模式,使用最新的 HTML5标准来解析渲染页面;如果不写,浏览器就会进入混杂模式,而这是我们要避免的。

    浏览器乱码的原因是什么?如何解决

    下面这个流程是我们写入文件到展示文件的简单描述:

    1. 我们使用编辑器编写 HTML 文件
    2. 保存编写的HTML文件
    3. 使用浏览器打开HTML文件
    4. HTML文件在浏览器展示

    乱码产生的根源就在与第2步骤和第4步。

    比如我们在第二布的时候保存用gbk编码格式保存了,在第4步浏览器打开网页时,它并不知道你的这个文件是使用什么编码方式,于是自作主张使用了默认解码方式。比如在Chrome打开时默认使用 ISO -8859的解码方式,就导致编码和解码不匹配,产生乱码。

    那如何规避这个问题呢?即如何通知浏览器用什么方式解码呢?
    最有效的方法在html 的 <head>里添加<meta charset="utf-8">,这句话的意思是告诉浏览器在打开这个页面的时侯直接用utf-8去解码。 同理,如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">

    常见的浏览器有哪些,什么内核

    IE,Mozilla Firefox,Google Chrome,opera,360,TT,搜狗,遨游,瑞影,hotbrowser,等等
    内核
    Trident:IE浏览器使用的内核
    Gecko:Netscape6开始采用的内核,后来的Mozilla FireFox也采用了该内核
    Presto: 目前Opera采用的内核
    Webkit:苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
    Blink:Blink是一个由Google和Opera Software开发的浏览器排版引擎,这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

    常见的标签以及使用场景

    所有标签使用时有包含在<>内

    标签 使用场景
    html 是 HTML 页面的根元素
    body 包含页面的主体内容
    head 包含了文档的元(meta)数据
    meta ,提供了元数据.元数据也不显示在页面上,被浏览器解析
    link 定义了文档与外部资源之间的关系。通常用于链接到样式表
    style 定义了HTML文档的样式文件引用地址,在style 元素中可直接添加样式来渲染 HTML 文档
    script 用于加载脚本文件,如: JavaScript
    title 描述了文档的标题
    h1~h6 标签定义了一级标题到六级标题,标题字体大小逐渐减弱
    p 定义一个段落
    a 是网页链接。通过href属性,来指定链接地址。通过target属性,来指定链接页面打开的方式。
    image 定义html图像
    div 可用于组合其他 HTML 元素的容器,没有特定的含义。它属于块级元素,浏览器会在其前后显示折行
    span 没有特定的含义,可用作文本的容器
    ol 有序列表始于 ol 标签。每个列表项始于 li 标签。列表项目会使用数字进行标记
    ul 无序列表,列表项目会使用粗体圆点(典型的小黑圆圈)进行标记
    table 定义表格
    tr 定义表格的行
    td 定义表格每行的列
    tbody 定义表格的主体
    tfoot 定义表格的页脚
    iframe 用于在当前页面嵌入新页面
    strong 定义重要的文本
    em 定义被强调的文本

    相关文章

      网友评论

        本文标题:关于HTML

        本文链接:https://www.haomeiwen.com/subject/nzvztxtx.html