30分钟,认识 html 本质

news2024/11/16 17:58:30

30分钟,认识 html 本质

  • html 是什么?
  • html 起源
  • html 发展
  • 标签分类
    • 空间占用方式
    • 布局
    • 文本修饰
    • 流媒体标签
  • 预定义符号 Symbols
  • 弃用的部分标签
  • 学习 html

html 是什么?

HTML的英文全称是 Hyper Text Markup Language,即超文本标记语言。HTML是由Web的发明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年创立的一种标记语言,它是标准通用化标记语言SGML的应用。

所谓标记语言就是使用各种标签,对文本内容修饰的语言。事实上,对于标签,我们应该是很熟悉的,在各种场景里都非常常见的。

比如,在超市里,熟食区,海鲜区,零食区,饮品区。

再比如,男的站左边,女的站右边。

这些,都是各种各样的标签,嗯,不过都是隐形的。

那么,对于 html 来说,也会有各种各样的标签,用来协助网页内的文本进行不同的排列布局。在 html 语言规范中,使用尖括号所包含的内容,且左尖括号后跟随英文开头的字符串,或斜杠/开头的字符串,就表示一个标准的 html 标签。比如 <b>粗体</b>,比如<i>斜体</i>,比如<u>下划线</u>

CSDN 文盲老顾的博客,https://blog.csdn.net/superwfei

html 起源

html 出现的时间并不长,是在 http 协议产生后,才跟随产生的,为了支持在文本传输过程中,保持文本格式而产生的一个标签语言集,而 html 的前身,可以向前追溯到 IBM 在 60 年代便开始研究的 GML(Generalized Markup Language,通用标记语言) 标签集。

在 http 协议开始使用,嗯,有人就偷懒,从 GML 中做了个子集,用来保持文本格式,经典的标签,比如 A(链接)为什么会默认具有下划线,而不是其他表现方式。。。。嗯,因为这是 IBM 工程师们的失误。

GML
IBM在20世纪60年代,创建了GML(Generalized Markup Language,通用标记语言),以在其出版系统内部实现这一需求。IBM使用GML来用单一类型的源文件维护书籍、报表以及其他文件。
SGML
SGML(Standard Generalized Markup Language)源于标记的重点应该是文档结构的想法。SGML融合过gencode的思想。SGML从IBM的GML演化而来,是第一个标准化的信息结构化技术。SGML成为了IBM内部格式化和维护合法文件的手段。SGML后来被扩展和修改,作为一种全面的信息标准以适应工业范围的广泛应用。但直到1986年,SGML才成为了ISO标准。尽管SGML的功能非常强大,但是由于它非常复杂,需要一大堆昂贵的软件配合运行,因而在很长一段时间都没有被推广。
HTML
1989年,欧洲粒子物理实验室(CERT)的研究员 Tim Berners-Lee 和 Anders Berglund 两人创建了一种基于标记的语言HTML,为给Internet上共享的文章做标记。HTML可以看作是SGML的简化的应用。但是HTML标签逐渐庞大,并且失去严谨性。

html 发展

任何事物的发展,都离不开时代的特征。html 同样如此。

在最早的时候,Http 刚刚出现的时候,html 中,对于流媒体的信息支持的非常非常少,仅仅有一个 img 标签,用来显示一些图片。而更多的标签,则是为了排版做支持的。

在这个时候,使用的最多的应该就是 p 段落标签,h1 - h7 标题标签,以及 table 表格标签。当然,还有为了保持文本格式的 pre 标签,以及文字修饰标签 font。

随着网络速度的提升,以及计算机性能的提升,html 也在慢慢的追加一些内容,比如流行一时的 mdi 音频,wav 音频。

当老顾开始接触到 html 的时候,已经是在97年之后的事情了,混到一个电脑培训班里,给小伙伴们讲解一个叫做 front page 的工具,嗯,就是一个 web 可视化开发工具。这个时候已经发展到 html 4.0 了,功能就已经很完善了。

比如,曾经霸占了所有浏览器的 flash 内容所使用的 embed 标签。比如可以引用动态控件的 object 标签。比如可以播放视频的 video 标签等等。

以及,现在发展到了 html5 ,各种各样的新标签。

标签分类

在各种标签中,左前括号后边跟随的英文开头的内容,称之为标签名,也叫做页面元素。每个页面元素,都会占用一定的页面空间。

空间占用方式

按照占用空间的方式,分为行内元素(inline),以及块级元素(block),没错,就是现在 css 所描述的那些。

在古老的时代,网络速度很慢,所以很多内容是不使用 css 的,所以标签就显得相对重要了。除了 pre、table、p、div 是默认的块级标签之外,其他标签都是行内标签。

布局

在没有引入 css 之前,html 本身能够完成的布局只有居左,居中,居右,除了特有的 center 是居中标签外,其他的布局方式,都只能通过标签的属性来进行设置。

没错,标签是可以带属性的,布局通常是使用 center 标签居中,pre 标签保持空格,以及属性 align=“left/center/right” 来进行设置。

在 css 引入后,html4新增了一个坐标布局(相对坐标布局及绝对坐标布局),以及 css3 引入的更好用的弹性布局(flex布局)

文本修饰

在 css 流行开之前,文本修饰只有少少的几样,加粗斜体删除线下划线算是独立的标签,还有一个重要的标签 font ,现在已经算是弃用了的。我们都是通过 font 来设置字体、颜色、字号,而现在,我们更习惯用 span 加样式的方式来进行修饰了。

以上这些元素,在 css 引入后,其实大多数存在可替代的情况,除了少少的几个,比如 img 图片(流媒体标签)、a链接(跳转)、iframe/frameset 框架(嵌入框架/结构框架)。

为什么说是可替代,那是因为,我们可以通过样式,来修改、设置任意标签的默认渲染效果,达到原有 html 指定标签的效果,比如边距、字号、行高、布局方式、占用空间等等。

流媒体标签

在网络越来越快,以及压缩算法越来越成熟的今天,各种各样的流媒体也大量的呈现在了网页之中,这少不了流媒体相关标签的支持。这些标签的实现方式,是基于浏览器调用相关的协议、算法进行实现的。

流媒体标签的特殊之处在于,你必须使用相关标签,才能调用相关的协议、算法,这些标签是不可替代的。

预定义符号 Symbols

html 除了有标签部分之外,还有一些预定义的符号,可以作为使用,比如尖括号就是一个很麻烦的东西,他是作为标签语法的一部分,如果想在页面显示尖括号怎么办?答案是通过预定义符号来描述,比如 &lt; 就是左尖括号。

老顾在这里列一下老顾已知的各种符号。

    public enum HtmlSymbols
    {
        // 由于int为c#保留字,所以&int;对应的枚举为INT,该特例需要在使用中处理
        Alpha = 'Α', Beta = 'Β', Gamma = 'Γ', Delta = 'Δ', Epsilon = 'Ε', Zeta = 'Ζ', Eta = 'Η', Theta = 'Θ',
        Iota = 'Ι', Kappa = 'Κ', Lambda = 'Λ', Mu = 'Μ', Nu = 'Ν', Xi = 'Ξ', Omicron = 'Ο', Pi = 'Π', Rho = 'Ρ',
        Sigma = 'Σ', Tau = 'Τ', Upsilon = 'Υ', Phi = 'Φ', Chi = 'Χ', Psi = 'Ψ', Omega = 'Ω',
        alpha = 'α', beta = 'β', gamma = 'γ', delta = 'δ', epsilon = 'ε', zeta = 'ζ', eta = 'η', theta = 'θ',
        iota = 'ι', kappa = 'κ', lambda = 'λ', mu = 'μ', nu = 'ν', xi = 'ξ', omicron = 'ο', pi = 'π', rho = 'ρ',
        sigmaf = 'ς', sigma = 'σ', tau = 'τ', upsilon = 'υ', phi = 'φ', chi = 'χ', psi = 'ψ', omega = 'ω',
        trade = '™', reg = '®', copy = '©', sect = '§', yen = '¥', pound = '£', euro = '€', spades = '♠', clubs = '♣', hearts = '♥', diams = '♦',
        nbsp = ' ', lt = '<', gt = '>', amp = '&', quot = '"', ldquo = '“', rdquo = '”', lsquo = '‘', rsquo = '’', hellip = '…', mdash = '—', middot = '·',
        ordf = 'ª', sup2 = '²', sup3 = '³', frac12 = '½', frac14 = '¼', frac34 = '¾', permil = '‰', bull = '•', prime = '′', Prime = '″', oline = '‾', frasl = '⁄',
        ordm = 'º', deg = '°', acute = '´', tilde = '˜', circ = 'ˆ', laquo = '«', raquo = '»', bdquo = '„', rsaquo = '›', lsaquo = '‹', sbquo = '‚', ndash = '–',
        ensp = ' ', emsp = ' ', thetasym = 'ϑ', upsih = 'ϒ', piv = 'ϖ', weierp = '℘', image = 'ℑ', real = 'ℜ', alefsym = 'ℵ', para = '¶',
        minus = '−', times = '×', divide = '÷', asymp = '≈', ne = '≠', equiv = '≡', le = '≤', ge = '≥', lowast = '∗', radic = '√', prod = '∏', sum = '∑',
        larr = '←', uarr = '↑', rarr = '→', darr = '↓', harr = '↔', crarr = '↵', lArr = '⇐', uArr = '⇑', rArr = '⇒', dArr = '⇓', hArr = '⇔', forall = '∀',
        part = '∂', exist = '∃', empty = '∅', nabla = '∇', isin = '∈', notin = '∉', ni = '∋', cedil = '¸',
        prop = '∝', infin = '∞', ang = '∠', and = '∧', or = '∨', cap = '∩', cup = '∪', INT = '∫', there4 = '∴', sim = '∼', cong = '≅',
        sub = '⊂', sup = '⊃', nsub = '⊄', sube = '⊆', supe = '⊇', oplus = '⊕', otimes = '⊗', perp = '⊥', sdot = '⋅',
        lceil = '⌈', rceil = '⌉', lfloor = '⌊', rfloor = '⌋', loz = '◊', iexcl = '¡', cent = '¢', curren = '¤', brvbar = '¦',
        uml = '¨', not = '¬', macr = '¯', plusmn = '±', micro = 'µ', iquest = '¿', dagger = '†', Dagger = '‡',
    }

使用符号就是在字符名前边加个 &,后边加个;,比如&empty; 就是 ∅了。

弃用的部分标签

现在由于 css 的大力发展,原来很多的标签已经没有了存在的必要了.。

比如 font 标签,现在已经见不到了。

比如 pre 布局,已经通过样式实现了。

比如下划线删除线,下标上标之类的,也都有自己的样式了,甚至给你搞出上划线来了。

学习 html

那么,该怎么学习 html 呢?相信看到前边这些内容,小伙伴应该有一定的领悟了。

按照老顾的说法,html 就是具有特定默认值,特定属性的一些元素修饰内容。而 html 文档呈现的内容,就是通过这些标签元素对文本修饰后,堆出来的文本堆罢了。

事实上,在理解了 html 的本质:文本修饰元素、引入流媒体、布局设置,这个内容之后,其实 html 大可不必专门去学。老顾之前说自己是在培训班学的 html ,通过 front page ,理解了他是标签修饰内容后,就再没专门看过 html 学习的内容,都是随随便便去 w3school 之类的网站上看看手册,找找有没有适用的标签就完事。写的多了,用的多了,自然标签名也就记住了。

嗯,古早时代,手册类书籍是比较常见的,不知道为什么现在的这类书籍越来越少了,都是各种花哨的什么入门到精通。。。。
在这里插入图片描述
有个手册,这种标签类语言,就可以轻松上手了啊,别花费太多时间去专门硬背这些,用多了,自然就熟练的记住了,如果碰到没见过的标签,则直接上手册里一查,就能理解的七七八八了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/692777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redismariadb + keepalived 高可用

目录 机器准备 安装后服务 redis 安装redis mariadb 安装mariadb 启动和配置 互为主从同步配置 keepalived keepalived安装 修改主从 keepalived的配置 主从配置-mariadb监控 主从配置-redis监控 查看和使用 Keepalived Mariadb redis 机器准备 两台机器&…

计算机专业套装书书单推荐

1、深度学习经典教程 深度学习动手学深度学习 “花书”与沐神大作双剑合璧&#xff0c;入门深度学习看这一套就够了&#xff0c;来自一线科学家的经验总结&#xff0c;人工智能机器学习AI算法数据科学领域的重磅作品。理论实战&#xff0c;一套书帮你get深度学习的各种知识。 …

RK3568/RK3588+LinuxCNC+Ethercat解决方案

RK3588是瑞芯微新一代旗舰级高端处理器&#xff0c;具有高算力、低功耗、超强多媒体、丰富数据接口等特点。搭载四核A76四核A55的八核CPU和ARM G610MP4 GPU&#xff0c;内置6.0TOPs算力的NPU。 有五大技术优势 1. 内置多种功能强大的嵌入式硬件引擎&#xff0c;支持8K60fps 的…

IDEA、Webstorm 书签(bookmark)使用

①设置标签 ctrl shift 数字 就可以给软件设置上标签 或者 直接F11就可以添加标签 ②查看设置的标签的位置 使用shift F11 就可以标记记录的标签。

Mysql经典面试题

***搜集到的一些有用的Mysql经典《八股文》&#xff0c;全篇手打&#xff0c;大家觉得有用的话点一个赞&#xff0c;持续更新 目录 1.Mysql锁的机制&#xff1a; 粒度分类&#xff1a; 思想分类&#xff1a; 实现分类&#xff1a; 状态分类&#xff1a; 1.Mysql锁的机制&…

【雕爷学编程】Arduino动手做(130)---5A交流电流模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

Jetson Orin定制载板SPI接口调试记录

1.前言 按照如下步骤操作配置SPI,但仍无法正常工作 启用spi的步骤: (1)使用jetson-io为spi1启用40pin 座子 (2)编辑dts(把TPM(slb9670)设备通过spi 连接),并使用dtc工具将dts编译为dtb。 将TPM的reg设置为0x02。 (3)设置extlinux.conf的FDT (4)reboot 应该…

多张显卡之间通信方式

显卡之间常见的通信方式有以下几种 1.broadcast&#xff08;广播&#xff09;&#xff1a;将一张卡上的数据传到其它所有的卡上&#xff08;下图中的out就是等于in&#xff09; 2. reduce&#xff08;归约&#xff09;&#xff1a;将所有显卡上的数据&#xff0c;相加/取平均/…

【AcWing】夏季每日一题2023 -- 4908. 饥饿的牛 -- Java Version

题目链接&#xff1a;https://www.acwing.com/problem/content/description/4911/ 1. 题解&#xff08;4908. 饥饿的牛&#xff09; y总视频讲解&#xff1a;https://www.acwing.com/video/4739/ 1.1 顺序遍历&#xff1a;区间计算 ⭐ 时间复杂度O(1)&#xff0c;空间复杂度O…

简单电感量测量装置电路设计

在电子制作和设计&#xff0c;经常会用到不同参数的电感线圈&#xff0c;这些线圈的电感量不像电阻那么容易测量&#xff0c;有些数字万用表虽有电感测量挡&#xff0c;但测量范围很有限。该电路以谐振方法测量电感值&#xff0c;测量下限可达 10nH&#xff0c;测量范围很宽&am…

iNav开源代码之AOCODARCH7DUAL蜂鸣器持续蜂鸣问题

iNav开源代码之AOCODARCH7DUAL蜂鸣器持续蜂鸣问题 1. 源由2. 分析2.1 逻辑分析2.2 接线连接2.3 动态测量2.4 软件配置2.5 现象分析2.6 对比分析 3. 总结4. 参考资料 1. 源由 最近上了iNav 6.1.1固件&#xff0c;总体感觉非常不错。但是出现了一个百思不得其解的蜂鸣器持续蜂鸣…

让MBR使用硬盘

前提知识&#xff1a; BIOS中断 BIOS 和 DOS 都是存在于实模式下的程序&#xff0c;由它们建立的中断调用都是建立在中断向量表&#xff08;Interrupt Vector Table&#xff0c;IVT&#xff09;中的。它们都是通过软中断指令 int 中断号来调用的。中断向量表中第 0H&#xff…

关于30KW储能PCS逆变器的设计方案。它包括双向DCDC和三电平逆变PCS

关于30KW储能PCS逆变器的设计方案。它包括双向DCDC和三电平逆变PCS。资料中提供了仿真源码&#xff0c;其中包含并网和离网两个模型 30KW储能PCS逆变器双向变流器设计方案资料 1.此系列为30KW储能PCS逆变器设计方案资料&#xff0c;双向DCDC和三电平逆变PCS&#xff1b; 2.仿真…

使用Android Jetpack Compose构建菜单(Menu)

Android Jetpack Compose是一种现代化的声明式UI工具&#xff0c;它让构建美观且功能强大的界面变得更加简单和直观。在本文中&#xff0c;我们将介绍如何使用Jetpack Compose构建一个简单的下拉菜单。 一、什么是下拉菜单&#xff1f; 下拉菜单是一种用户界面元素&#xff0…

无迹卡尔曼滤波在目标跟踪中的作用(二)

在上一节的内容中&#xff0c;我们介绍了UKF中最重要的内容—无迹变换UT&#xff0c;今天我们将具体介绍UKF是如何实现的。 好了&#xff0c;话不多说&#xff0c;开整&#xff01;&#xff01;&#xff01; UKF算法的实现 我们知道&#xff0c;我们可以使用状态方程和观测方…

04 Web全栈 闭包/this指针

专业术语 变量、常量、数据类型形参、实参匿名函数、具名函数、自执行函数函数声明、函数表达式堆、栈同步、异步、进程、线程 执行上下文 当函数执行时&#xff0c;会创建一个执行上下文的环境&#xff0c;分为创建和执行两个阶段 创建阶段 创建阶段&#xff0c;指函数被调…

Android开发有必要深耕Framework吗?该如何着手?

前言 前段时间朋友在找 Android 高级开发工作&#xff0c;想进一步提升自己的能力&#xff0c;看了很多招聘信息&#xff0c;都要求熟练掌握 Framwork&#xff0c;了解底层原理等&#xff0c;发现是不是该深入研究底层技术…… 同时在网上也看到过相关问题&#xff0c;有很多…

iOS应用上架指iOS应用上架指南:综合详解

目录 引言 一、基本需求信息。 二、证书 一.证书管理 二.新建证书 三.使用appuploader服务同步证书 三、打包 三、审核 四、整体架构流程 五、代码实现 六、总结 转载自iOS开发上架的文章&#xff1a;iOS应用全面上架指南 引言 上架IOS应用到app store&#xff0c;…

An unexpected connection driver error occured

安装下载好rabbitmq&#xff0c;我在springboot整合mq&#xff0c;启动的时候报错了 An unexpected connection driver error occured 后来又报 Failed to check/redeclare auto-delete queue(s). 综合就是连接问题&#xff0c;端口有问题 我试过添加账户&#xff0c;提高权限&…