HTML 知识总结

作者: 在乎者也 | 来源:发表于2017-06-29 00:38 被阅读35次

    HTML、XML、XHTML 有什么区别

    什么是HTML

    HTML 是用来描述网页的一种语言

    • HTML 指的是超文本标记语言(hyper text Markup Language)
    • HTML 不是一门编程语言, 而是一中标记语言(markup language)
    • 标记语言是一套标记标签 (markup tag)
    • HTML 使用标记标签 来描述网页

    总结:HTML 是一个超文本标记语言,并不是编程语言,他有一套标记标签,可以使用这些标记标签来描述网页

    什么是XML

    XML 被设计用来传输和存储数据

    • XML是可扩展标记语言(Extensible Markup Language)
    • Xml 是一种标记语言,很类似HTML
    • XML 的设计宗旨是传输数据, 而非显示数据
    • XML 标签没有被预定义。 你需要自定义标签
    • XML 被设计为具有 自我描述性
    • XML 是W3C 的推荐标准
      解释
      自定义标签: XML 就是纯文本,标签是根据自己的数据内容可以自定义。不像 HTML 标签 有个预定义的意思 比如 h1~h6 代表标题等等
      ** 自我描述性** XML标签往往对标签内的数据有所解释
    <note> 
    <to>George</to> // 去George那
    <from>John</from> // 来自 John
    <heading>Reminder</heading>// 信息头 
    <body>Don't forget the meeting!</body>// 信息体
    </note>
    

    总结
    XML 是一个可扩张标记语言,类似HTML;设计宗旨是传输数据,它没有预定义标签,全部都要自定义标签,自定义的标签应当定义为对自己数据具有自我描述性,XML也只是个纯文本,想解析XML信息还需自己编辑软件或程序解析。XML是为了数据更加明确。能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。XML 是独立于软件和硬件的信息传输工具

    什么是 XHTML

    XHTML (extensible HyperText Markup language) 可扩展超文本标记语言
    XHTML 是一种 html 4.0 基础上优化和改进的新语言,目的是基于XML应用,XHTML是一种增强了的HTML, 他的可扩展性和灵活性将适应未来网络应用更多的需求

    • XHTML 元素必须被正确的嵌套
    • XHTML 元素必须被关闭
    • 标签必须用小写字母
    • XHTML 文档必须有根元素

    怎样理解 HTML 语义化

    ** 1. 什么是HTML语义化**
    根据内容的结构化(内容语义化),选择合适的标签(代表语义化)便于开发者阅读和写出优雅的代码的同事让浏览器的爬虫 和 机器很好的解析
    2. 为什么要语义化

    • 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看
    • 用户体验:例如title, alt 用于解释名词或解释图片信息,
    • HTML 是一门计算机程序语言,和c,c++,java,go,php,lua,python等一样.
      写HTML的人要以写程序的角度去写,去评判,
      语义化的含义就是用正确的标签做正确的事情.
      你要写的是程序, 不仅仅是视觉显示.
    • 更好看懂 更好维护 记单词一样 有逻辑关系的单词 可以记一串 零散的看都不想看
      参考链接
      关于语义化 HTML 以及前端架构的一点思考
      如何理解 web 语义化

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

    1.内容
    内容就是页面实际要传达的真正信息,包括数据、文档或者图片等。这里强调”真正“,指的是纯粹的数据信息本身,导航菜单,装饰性图片都不算的
    2.结构(Structure)
    真正信息想让展现给大家,一定其看懂。没结构的话会混乱不堪,难以阅读和理解,所以需要格式化,结构化。
    比如分成标题 作者 章 节 段落 和列表等等(语义化使用html标签,使得传达的信息结构化)结构使内容更加具有逻辑性,易用性
    3.表现
    结构化可以让人看得懂,但是我们还应当让人看得舒服
    虽然定义了结构,但是字体大小,正文的颜色 字体样式 所处位置 背景什么都没有修饰,所有来改变内容(结构化后真正的数据信息)外观的东西,我们称为 表现
    4.总之
    内容是模特, 结构表明头 和 四肢等各个部位,表现则是服装,化妆品,将模特更光彩照人
    ** 5. 行为(Behacior)**
    即对内容的交互及操作效果
    这些是现代网页必须存在的东西,表现层 和 结构层 内容层 行为都可以写在一起,一些简单的页面没关系,如果发布大量页面 问题就来了

    1. 如何改版 背景改成黑的 文字改成白的 一个页面一个页面改 有css表 的话 直接改样式表 样式就批量改了
    2. 数据的利用 结构清晰化,将内容、结构与表现相分离。使用模板为类似的内容搭个结构,将请求回来的数据嵌入或隐藏(根据业务)这样也可以达到批量修改结构 去除模板的一个解构 渲染出来的页面就会都会修改,等等 解构化更有利于浏览器搜索

    常见的meta标签

    <meta charset="utf-8">:编码方式 大部分都是utf-8格式
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    双核浏览器
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    用于移动端的展示合理 移动端必用
    <meta name="keywords" content="前端 饥人谷">网页关键字,利于搜索 优化SEO
    <meta name="description" content="最有爱的前端学习社区">
    搜索引擎优化 
    <meta name="keywords" content=""> //向搜索引擎说明你的网页的关键词  
    <meta name="description" content=""> //告诉搜索引擎你的站点的主要内容  
    <meta name="author" content="你的姓名"> //告诉搜索引擎你的站点的制作的作者  
    <meta http-equiv="Content-Type" content="text/html";charset=utf-8"> //指定字符集  
    <meta http-equiv="refresh" content="n;url="> //定时让网页在指定的时间n内跳转  
    <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时间格式
    

    文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?

    ** 文档声明 **
    为了浏览器按照你给的版本进行解析你的HTML文档
    严格模式 , 混杂模式
    严格模式:浏览器按照HTML 和 CSS标准来解析,渲染你的文档
    混杂模式:浏览器会模拟网景浏览器 和 ie5 的非标准行为来解析渲染页面 ,这样做为了兼容W3C标准没出来之前的页面 ,(我猜这些页面早见鬼去了吧)
    <!doctype html> 的作用
    html5 文档声明 让浏览器进入 W3C HTML5标准模式解析渲染页面,不写进入混杂模式,准备踩坑吧


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

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

    1. 文件存储格式 与 这个meta标签指定格式不同 导致乱码
      解决: 存储格式 与 meta指定格式一样
    2. 不合理的字符串截取造成个别字符乱码,
      解决 规范截取字符串函数
    3. 数据库编码与meta设定不一致
      解决 保持一致
    4. ajax传递中文编码导致的
      解决将传递的参数转码成utf-8模式
    5. 网站中毒导致
      解决“网站安全”相关处理

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

        chrome safari opera 现在都是使用WebKit内核
        Firefox 内核 Gecko
        IE 内核 Trident
        猎豹安全浏览器:1.0-4.2版本为Trident+Webkit,4.3版本为        Trident+Blink;
        360安全浏览器 :1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink;
        360极速浏览器:7.5之前为Trident+Webkit,7.5为Trident+Blink;
        傲游浏览器 :傲游1.x、2.x为IE内核,3.x为IE与Webkit双核;
        搜狗高速浏览器:1.x为Trident,2.0及以后版本为Trident+Webkit;
        QQ浏览器开始使用Webkit和Trident双内核
        微信内置浏览器 腾讯自己X5内核
    

    列出常见的标签,并简单介绍这些标签用在什么场景

    摘抄自列出常见的标签,并简单介绍这些标签用在什么场景

    * <a> 用于超链接。<a href="">some text</a>
    * <article> 用于一篇文章。<article>a self-contained article</article>
    * <aside> 用于页面的侧边栏。<aside>some content</aside>
    * <blockquote> 用于大段的引用内容。<blockquote>some big texts</blockquote>
    * <body> 页面上显示的所有内容都被包含在<body></body>里
    * <br> 用于显示一个换行
    * <button> 用于显示一个按钮
    * <code> 用于一包裹一段代码内容
    * <dd> 用于一个dl列表的某个dt名词的描述
    * <del> 用于删除一些不需要的文字
    * <div> 用于包裹住一些其他的标签,制造一个容器
    * <dl> 用于制作一个名词和对应解释的列表
    * <dt> 用于一个dl列表的某个dt名词
    * <em> 用于强调一些文本内容
    * <figcaption> 用于一张图表的说明文字
    * <figure> 用于一张图表
    * <footer> 用于包裹页面的底部内容
    * <form> 用于制作一个表单
    * <h1>-<h6> 用于标记标题,从h1到h6重要性依次递减
    * <head> 用于包裹页面的元数据,如<meta>, <link>, <title>等
    * <header> 用于包裹页面的头部内容
    * <hr> 用于制造出一条分隔线
    * <html> 整个 HTML 文档的根元素,包裹住其他所有的元素
    * <iframe> 用于嵌入另一个小页面到一个页面中
    * <img> 用于显示一张图片
    * <input> 用于显示一个表格输入控件
    * <label> 用于给一个表格输入控件打上一个标签,说明输入控件的作用
    * <li> 用于<ul>和<ol>标签,代表一个列表项
    * <link> 用于链接外部CSS文件
    * <mark> 用于高亮显示某些文本
    * <meta> 用于下达一些元数据指令,或者对页面进行说明
    * <nav> 用于包裹住一个导航条的内容
    * <ol> 用于制作一个有序列表
    * <p> 用于显示一个段落
    * <q> 用于一小段引用文字
    * <script> 用于一段JavaScript脚本代码,或者引入一个外部JavaScript脚本文件
    * <section> 用于包裹一部分有逻辑关第的页面内容
    * <select> 用于制作一个下拉列表选框
    * <span> 用于包裹住一小段文字,作为一个容器
    * <strong> 用于着重强调重要的文本内容
    * <style> 用于给页面元素加上样式
    * <sub> 用于下标文本
    * <sup> 用于上标文本
    * <table> 用于制作一个表格
    * <tbody> 用于表格里的主体部分
    * <td> 用于表格里的某一个单元格
    * <textarea> 用于制作一大块文本输入框
    * <tfoot> 用于表格里的底部
    * <th> 用于表格里的表头的单元格
    * <thead> 用于表格里的表头
    * <time> 用于页面内容中的时间
    * <title> 用于显示整个页面的标题(显示在浏览器的tab上)
    * <tr> 用于标记表格里的一行
    * <ul> 用于制作一个无序列表
    

    以上
    *** 谢谢观赏,点赞 ***

    相关文章

      网友评论

        本文标题:HTML 知识总结

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