关于HTML、CSS与JS
1 HTML、CSS与JS定义
HTML(Hyper Text Markup Language,HTML)超文本标记语言,由Web的发明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年创立的一种标记语言。超文本是一种组织信息的方式,也是网页的一种规范和标准。它通过特殊的标签语法将文字、图形、视频、声音、动画、表格和链接等有序的组织起来,生成一个HTML文件,即网页文件。文件名以.html或.htm结尾(.htm为了兼容过去DOS命名格式而存在)。
CSS(Cascading Style Sheets,CSS)层叠样式表,是一种样式修饰语言,用于改变网页文件的显示效果,包括内容颜色、大小、动画以及排版等。CSS文件使用属性选择器作用于网页文件中特定的区域,常用的属性选择器包括CLASS属性选择器和ID选择器。文件名以.css结尾。
JS(JavaScript,JS)脚本语言,是一种解释型编程语言,主要用来为网页添加交互行为以及进行逻辑运算。由于JS不依赖操作系统仅需要浏览器的支持,因此JS脚本具有跨平台性,只要浏览器支持便可以在任意机器上使用。与服务端脚本文件PHP和ASP不同,JS脚本文件主要用于客户端。文件名以.js结尾。
2 HTML、CSS与JS的发展
| HTML 1.0 | 1993年6月作为互联网工程工作小组(IETF)工作草案发布 |
|:-:|:-:|:-:|
| HTML 1.0 | 1993年6月作为互联网工程工作小组(IETF)工作草案发布 |
| HTML 2.0 | 1995年11月作为RFC 1866发布,于2000年6月发布后被宣布过时 |
| HTML 3.2 | 1997年1月14日,W3C推荐标准 |
| HTML 4.0 | 1997年12月18日,W3C推荐标准 |
| HTML4.01(微小改进) | 1999年12月24日,W3C推荐标准 |
| HTML 5| 公认的下一代Web语言,极大地提升了Web在富媒体、富内容和富应用等方面的能力,被喻为终将改变移动互联网的重要推手 |
| CSS1.0(第一版)|1996年12月W3C推出CSS第一版 |
| CSS2.0(第二版)| 1998年5月W3C发布CSS第二版 |
| CSS3.0(第三版) | 2001年5月23日CSS3草案完成 |
优缺点:
CSS1:初代table布局
优点: 布局容易、快捷、兼容性好
缺点: 改动不便、需要重新调整、工作量大
CSS2:CSS+div布局
优点: 学习容易、方便快捷、代码量少
缺点: 1.平台兼容性不好,技能要求较高。
2.在移动端布局有些力不从心,如未知宽高float内部元素居中、 垂直水平布局、响应式布局等方面略显繁琐。
CSS3:Flex布局
优点: 可以在不使用其他框架的情况下,简便、完整、响应式地实现各 种页面布局 、移动端布局友好
缺点: 兼容性较差,IE浏览器版本在9.0以上,基本要10.0 对于其他 浏览器,要求兼容性写法
(注:CSS3语言开发是朝着模块化发展的,把以前的规范分解为一些小的、相互独立的模块,更多新的模块也被加入进来。由于将新需求作为一个新模块来立项并进行标准化,后面不会再有CSS4、CSS5这种所谓大版本号的变更,而是CSS某个模块级别的升级)
CSS3****兼容问题:
CSS3还未成为真正的标准,但却提供了针对浏览器的前缀:
Chrome(谷歌浏览器):-webkit-
Safari(苹果浏览器):-webkit-
Firefox(火狐浏览器):-moz-
lE(IE浏览器):-ms-
Opera(欧朋浏览器):-0-
JavaScript的语法标准为ECMAScript,其发展过程如下表[1]。
| 版本号 | 发布时间 | 主要新增内容 |
| ECMAScript1 | 1997-06 | |
| ECMAScript2 | 1998-06 | |
| ECMAScript3 | 1999-12 | 正则表达式 | switch | do-while | try-catch等 |
| ECMAScript4 | 2008-07 | 被废弃 |
| ECMAScript5 | 2009-12 | 严格模式 | getters | setters | JSON的解析 等 |
| ECMAScript6 | 2015-06 | let 和const | 解构赋值 | 扩展运算符 | 箭头函数 等 |
| ECMAScript7(ECMAScript 2016) | 2016 | Array.prototype.includes() | 求幂运算符 等|
| ECMAScript8(ECMAScript 2017) | 2017| 异步函数 | 共享内存 |?Atomics等 |
| ECMAScript9(ECMAScript 2018) | 2018 | 异步迭代 |?Rest/Spread?属性 等 |
3 HTML、CSS与JS之间的关系
HTML、CSS与JS之间的关系可以简单的理解为HTML为网页内容,CSS给其添加样式修饰,JS给其添加行为修饰。
3.1 HTML 中引入 CSS
1)内联方式
在 HTML 标签中的 style 属性中添加CSS代码
<div style="background: red"></div>
2)嵌入方式
在 HTML 头部中的 <style> 标签下添加CSS代码
<head>
<style>
.content {
background: red;
}
</style>
</head>
3)链接方式
在 HTML 头部中的 <head> 标签下引入外部CSS 文件
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
4)导入方式
使用 CSS 规则引入外部 CSS 文件(受版本限制,@import 是 CSS2.1 才出现的概念)
<style>
@import url(style.css);
</style>
3.2 HTML 中引入 JS
1) 在head中添加js
<script type="text/javascript">
function onClick() {}
</script>
2)在body中添加js
function onClick () {}
</script>
3)引入外部JS文件
<script type="text/javascript" src="index.js" ></script>