[01]HTML基础之简单介绍
1.前言
现如今科技进步,足不出户尽晓天下事,一转身便仿若隔世茫然。科技绽放时代,网络技术对人们的触变无疑是深远而重大的,隐于缤纷绚丽的网页背后,是前端的蜕变更新。
如今,随意点开页面,绚丽华彩的特效及流畅的用户体验,是以前始料未及的。从切图到框架,从组件到模块,从简单到系统,前端渐成一方世界。
2.历史
1989年,出于地域交流不便,欧洲粒子物理实验室研发出一套远程资源共享系统,该系统基于浏览器实现文本信息的交换,万维网(www,即world wide web)诞生。
1993年,伴随万维网的萌芽,超文本标记语言(html,即HyperText Markup Language)顺势诞生,语义化标签让页面结构清晰简洁。
1994年,关于html标准化的万维网联盟(w3c,即world wide web consortium)建立,从此拉开万维网标准化规范化的革命历程。
在html的历史里,有两大版本值得注意,html 4.01版本(1999年),html 5版本(2008年),尽管路不同起,但在各自的时代里举足轻重。
尽管不在编程语言的范畴里,但它作为一门标记语言,负责页面的结构及语义,用正确的标签解释正确的页面结构。所及即所得,是html较为容易上手的的一点,从标签入手很快便能写出可读可维护的页面。
3.文档
网页丶页面及文档,通俗地说,可以理解为同一事物。文档分类型,除html类型外,还有xml,xhtml等类型,相较来说 html 类型的文档较为常见。
文档声明(DTD,即Document Type Denifition),声明页面的文档类型及版本,文档声明的意义是让浏览器能正确识别文档类型,并调用相应的处理引擎处理该文档。
如今的html,逐渐撇弃html4.01全面拥抱html 5,但有时仍需做兼容处理,在此介绍该两个版本的两种不同声明方式:
//html 4.01文档声明:w3c标准,写法繁琐但兼容性较好。
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
//html 5文档声明:去除部分非语义化标签,新增部分语义化标签,简洁清晰。
<!doctype html>
4.结构
<html>
为文档根标签,除文档声明外,文档所有内容均包含在<html>
标签里,而html标签及其内容组成的元素成为为根元素。
根元素下,包含<head>
及<body>
两大标签:
<head>
即头部标签,主要包含文档的元数据及各类声明,如字符编码,图标,样式表,脚本等,该元素内容通常不会在页面中直接显示,但对文档的解析及处理非常关键;
<body>
即主体标签,负责页面内容的展示,该元素内的内容便是我们在浏览器里所看到的内容
元素
:语法概念,由标签
丶内容
及属性
组成,以元素为语法单位可以有更直观的感受。
标签
:主要语法结构,可分为单标签及双标签,<hr>
为单标签,而<a></a>
为双标签(其中<a>
为开始标签,</a>
为结束标签)。
内容
:即双标签内的内容,单标签没有元素内容(或说没有直接内容)。
属性
:存在于开始标签内,以键值对的形式存在,布尔值类型的属性可以省略值,如hidden。
以下,以某元素为例解释下元素的组成内容:
<a href="http://www.html.com">Hello,World</a>
为元素,<a></a>
为标签; Hello,World
为元素内容,href="http://www.html.com"
为元素属性。
5.标签
随着html5的普及,语义化编写显得愈来愈重要,从前可以是span+div的格局,或table+font的布局,如今却是难以支撑。时代在进步,技术在迭代,身处变革环境里的我们同样需要紧随科技的步伐。
从作用来讲,语义化有助于盲视者的听力理解,也利于搜索引擎的爬取,同时也利于日后代码的维护。踏过html4.01的时代,html 5包含更多语义化的标签,未来也许还会增加。
[01]HTML基础之简单介绍的更多相关文章
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- iOS开发基础-KVC简单介绍
一.KVC介绍 键值编码(Key Value Coding,KVC):使开发者不必进行任何操作就可以进行属性的动态读写. KVC操作方法由 NSKeyValueCoding 协议提供,而 NSObje ...
- ActiveMQ基础教程----简单介绍与基础使用
概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多 ...
- JSON基础,简单介绍
JSON(JavaScript Object Notation(记号.标记)) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - ...
- CSS基础之简单介绍
网页诞生初期,没有描述样式的语言,创建了很多用于描述样式的标签.但这些标签破坏了html作为一门结构语言的表现. 于是,W3C在1995年开始起草CSS,提出将结构和样式分离的解决方案. 元素 元素是 ...
- SpringMVC总结二:Controller的请求映射方式(RequestMapping)简单介绍
在SpringMVC总结一:快速入门的基础上简单介绍一下请求映射的方式: 1,标准映射规则 1. @RequestMapping可以设置在类上,也可以设置在方法上 2. 请求的映射规则是:类上的Req ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning
lightning对于开发salesforce人员来说并不陌生,即使没有做过lightning开发,这个名字肯定也是耳熟能详.原来的博客基本都是基于classic基于配置以及开发,后期博客会以ligh ...
- C# 基础知识 (四).C#简单介绍及托管代码
暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了非常多东西,也学到了非常多东西,也认识到了非常多不足之处!闲暇之余我准备又一次进一步巩固C#相关知识,包含 ...
随机推荐
- N - 寿司晚宴 HYSBZ - 4197 状压dp
N - 寿司晚宴 HYSBZ - 4197 推荐题解 这个题目我觉得还是很难的,借助题解写出来的,题解还看了很久,现在还是不是很理解. 首先这个数比较大有500,如果直接就像这个题目S - Query ...
- 博客第一天:常用的DOS命令
打开CMD的方式: 1.开始+系统+命令提示符 2.Win键+R 输入cmd打开控制台[推荐使用] 3.在任意文件夹下,按住Shift键+鼠标右击, 选择 ”在此处打开Powershell窗口(S)“ ...
- Coursera课程笔记----计算导论与C语言基础----Week 3
存储程序式计算机 冯·诺伊曼式计算机 "关于EDVAC的报告草案" 组成:控制器(协调工作).运算器(算数&逻辑运算).存储器(存储操作信息和中间结果).输入设备.输出设备 ...
- 【Spark】Spark任务调度相关知识
文章目录 准备知识 DAG 概述 shuffle 概述 SortShuffleManager 普通机制 bypass机制 Spark任务调度 流程 准备知识 要弄清楚Spark的任务调度流程,就必须要 ...
- 为什么PUSH推送要经常背锅?
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 自从做了推送以后,每隔一段时间就发现有各大的公司 ...
- Vue3语法快速入门以及写一个倒计时组件
Vue3写一个倒计时组件 vue3 beta版本发布已有一段时间了,文档也大概看了一下,不过对于学一门技术,最好的方法还是实战,于是找了一个比较简单的组件用vue3来实现,参考的是vant的count ...
- 数据库-第八章 数据库编程-8.1 嵌入式SQL
嵌入式SQL 一.嵌入式SQL的处理过程 1.嵌入式SQL语句的基本格式 2.嵌入式SQL的处理过程 3.主语言访问数据库的基本步骤 ⅰ建立数据库连接 ⅱ定义必要的主变量和数据通信区 ⅲ访问数据库并返 ...
- 常见的DOS命令总结
常用的内部命令有MD.CD.RD.DIR.PATH.COPY.TYPE.EDIT.REN.DEL.CLS.VER.DATE.TIME.PROMPT. 常用的外部命令有DELTREE.FORMAT.DI ...
- 微信小程序中,如何阻止多次点击单击事件
在微信小程序中,有自制对话框用于提交数据,但是会出现用户连续点击,多次提交数据的情况. //.wxml <view class="acertain" bindtap=&quo ...
- Error: ER_BAD_FIELD_ERROR: Unknown column 'xxx' in 'where clause'
node中调用mysql模块读写时候,如果直接插入字符串: connection.query('SELECT * from users WHERE name=' + data.name , call ...