Learner0x5a's Studio.

HTML, CSS 和 JavaScript

Word count: 1.5kReading time: 7 min
2021/05/27 Share

web开发

HTML 定义了网页的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
<a id="demo" href="https://www.runoob.com">这是一个链接</a>
<img loading="lazy" src="/images/logo.png" width="258" height="39" />
</body>
</html>

各个元素的说明:

1
2
3
4
5
6
7
8
9
<!DOCTYPE html> 声明为 HTML5 文档
<html> 元素是 HTML 页面的根元素
<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title> 元素描述了文档的标题
<body> 元素包含了可见的页面内容
<h1> 元素定义一个大标题
<p> 元素定义一个段落
<a> 元素定义一个链接
<img> 元素定义一个图片

HTML 属性

HTML元素可以设置属性

属性可以在元素中添加附加信息

属性一般描述于开始标签

属性总是以名称/值对的形式出现,比如:name=”value”; href=”https://www.runoob.com"; id=”demo”

属性之间空格分开

CSS 描述了网页的布局

CSS其实是HTML的<style>元素

内部样式表(Internal style sheet)

在HTML的<head>段定义各个元素的<style>

1
2
3
4
5
6
7
<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

外部样式表(External style sheet)

为了迁移方便,独立出去成为一个CSS文件,在HTML中<head>部分用<link>引用:

1
2
3
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

CSS文件:

1
2
3
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("/images/back40.gif");}

内联样式(Inline style)

直接在HTML元素里设置属性:

1
<p style="color:sienna;margin-left:20px">这是一个段落。</p>

JavaScript 控制了网页的行为

JS是HTML的<script>元素:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script>
function displayDate(){
document.getElementById("demo").innerHTML=Date();
}
</script>
</head>
<body>

<h1>我的第一个 JavaScript 程序</h1>
<p id="demo">这是一个段落</p>

<button type="button" onclick="displayDate()">显示日期</button>

</body>
</html>

JS可以直接写HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<p>
JavaScript 能够直接写入 HTML 输出流中:
</p>
<script>
document.write("<h1>这是一个标题</h1>");
document.write("<p>这是一个段落。</p>");
</script>
<p>
您只能在 HTML 输出流中使用 <strong>document.write</strong>
如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
</p>

</body>
</html>

JS可以对事件作出反应

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h1>我的第一个 JavaScript</h1>
<p>
JavaScript 能够对事件作出反应。比如对按钮的点击:
</p>
<button type="button" onclick="alert('欢迎!')">点我!</button>

</body>
</html>

JS可以改变HTML的元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h1>我的第一段 JavaScript</h1>
<p id="demo">
JavaScript 能改变 HTML 元素的内容。
</p>
<script>
function myFunction()
{
x=document.getElementById("demo"); // 找到元素
x.innerHTML="Hello JavaScript!"; // 改变内容
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>

</body>
</html>

JS可以改变HTML图像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function changeImage()
{
element=document.getElementById('myimage')
if (element.src.match("bulbon"))
{
element.src="/images/pic_bulboff.gif";
}
else
{
element.src="/images/pic_bulbon.gif";
}
}
</script>
<img loading="lazy" id="myimage" onclick="changeImage()" src="/images/pic_bulboff.gif" width="100" height="180">

JS可以改变HTML样式

1
2
3
4
5
6
7
<script>
function myFunction()
{
x=document.getElementById("demo") // 找到元素
x.style.color="#ff0000"; // 改变样式
}
</script>

JS可以验证用户输入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h1>我的第一段 JavaScript</h1>
<p>请输入数字。如果输入值不是数字,浏览器会弹出提示框。</p>
<input id="demo" type="text">
<script>
function myFunction()
{
var x=document.getElementById("demo").value;
if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
alert("不是数字");
}
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>

</body>
</html>

HTML DOM (文档对象模型)

DOM(Document Object Model)定义了访问 HTML 和 XML 文档的标准:

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。

编程接口

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
前述JS代码即为JS DOM,利用JS改变HTML的内容。

Note

markdown里写html代码时不能顶格,要给缩进,元素语句要加引号,作为代码出现,不然网页加载不出来。

CATALOG
  1. 1. web开发
    1. 1.1. HTML 定义了网页的内容
      1. 1.1.1. HTML 属性
    2. 1.2. CSS 描述了网页的布局
      1. 1.2.1. 内部样式表(Internal style sheet)
      2. 1.2.2. 外部样式表(External style sheet)
      3. 1.2.3. 内联样式(Inline style)
    3. 1.3. JavaScript 控制了网页的行为
      1. 1.3.1. JS可以直接写HTML
      2. 1.3.2. JS可以对事件作出反应
      3. 1.3.3. JS可以改变HTML的元素
      4. 1.3.4. JS可以改变HTML图像
      5. 1.3.5. JS可以改变HTML样式
      6. 1.3.6. JS可以验证用户输入
    4. 1.4. HTML DOM (文档对象模型)
      1. 1.4.1. 编程接口
  2. 2. Note