webveuje/htmlpress/html基础.md

241 lines
5.6 KiB
Markdown
Raw Normal View History

2021-01-05 09:18:22 +08:00
# HTML
## html 的基本概念
htmlHyperText Markup Language --超文本标记语言),不是一个编程语言,而是一个用于定义一个网页的页面结构的标记语言。网页的内容不局限于文字,可以是 一个段落,一个列表,一张图片,一个表格... HTML 由一系列的元素组成。
> 注: html 定义网页 的页nchuang面结构 css定义页面的展现形式javascript 定义页面的功能行为。
## 开始我们的HTML 之旅
开始之前 需要新建一个 后缀名为.html 的文件我们后面所说的所有操作都是在html 文件中进行的
可以使用的编辑器有很多: 记事本editplus, notepad++, **vscode** ....这里推荐vscode
### html 基本结构
```
<!DOCTYPE html>
<html>
<head>
<title>Document</title>
2021-01-12 14:02:30 +08:00
<meta charset="utf-8">
2021-01-05 09:18:22 +08:00
</head>
<body>
</body>
</html>
```
> 在解读上面的代码之前,我们先来看这些由<(左尖括号), 内容 , >(右尖括号) 组成的内容这些内容叫做标签tag, 在html中用<> 把他们包裹起来是为了与其他纯文本内容进行区分
> <!DOCTYPE html> 是Document Type Declaration 的简称用来声明文档也就是告诉浏览器当前使用的是哪种HTML
2021-01-12 14:02:30 +08:00
> <html></html> 表示页面编写的都是HTML代码必须成对出现除了文档生命之外的所有代码都必须写在<html></html>中间
> <head></head> 表示页面的头部页面的标题title标签meta元信息定义文档样式表和脚本等信息 一般写在head 中间
> <body></body> 表示页面的身体 页面内容需要写在 body 标签内 --
>
> <meta charset="utf-8" /> 设置文档使用utf-8编码集
2021-01-05 09:18:22 +08:00
### 写第一个网页 --hello world
```
<!DOCTYPE html>
<html>
<head>
<title>第一个页面</title>
2021-01-12 14:02:30 +08:00
<meta charset="utf-8">
2021-01-05 09:18:22 +08:00
</head>
<body>
hello world
</body>
</html>
```
效果如下:
<!DOCTYPE html>
<html>
<head>
<title>第一个页面</title>
</head>
<body>
hello world
</body>
</html>
### 元素
2021-01-12 14:02:30 +08:00
#### 元素结构:
2021-01-05 09:18:22 +08:00
```
<p>hello world</p>
```
![image-20201230114458198](html基础.assets/image-20201230114458198.png)
2021-01-12 14:02:30 +08:00
元素分类:
分类方式:
- 有无闭合标签
- 单标签
- 没有闭合标签,单标签书写形式以 / 结尾 如:<img /> <input /> ...
- 双标签
- 由 开始标签和结束标签组成,开始标签和结束标签必须成对出现
如:
```
<p>这是段落标签</p>
<span>这是文本标签 </span>
```
- 块级元素和内联元素
- 块级标签:在页面中以块的形式展现——相对于其前面的内容他会出现在新的一行,其后面的内容也会被挤到下一行展现。一个块级元素不会被嵌套进内联元素中,但可以嵌套在其他块级元素。
```
如下:
<div></div>
<ul></ul> (ul li , ol li)
<table></table> (table tr td ...)
...
```
- 内联元素:内联元素不会导致换行,通常是在块级元素中并环绕内容的一部分。
```
<span></span>
<em></em>
<i></i>
<a></a>
....
```
- 空元素
定义没有元素内容的html元素空元素在开始标签中关闭。即开始标签到结束标签之间没有内容而且是单标签。
常见的空元素有:
```
<br /> , <hr /> , <input />,<link />, <meta />
```
### 属性
属性包含元素的额外信息,这些信息不会出现在实际内容中。
一个属性需要包含如下内容:
> 1.一个空格,位于元素名称和属性名称之间
>
> 2. 属性名称,后面跟着一个等于号(=
> 3. 一个属性值,用“” 包裹
如之前写的 hello world 示例, 加工后如下:
```
<p class="greet">hello world</p>
```
这里的class 属性给元素赋了个可以识别的名字greet , 这个名字以后可以用来识别此元素的样式信息和其他信息。
练习:
把上面的hello world 的段落标签改成a标签并添加相关的属性
> a标签相关属性
>
> - href 声明超链接的web地址
>
> - title 鼠标悬停在超链接上时 显示的文字
>
> - target 指定新链接地址从哪里打开 默认从当前页面打开 , 如果想在新页面打开链接地址需要把target的值写成_blank
>
> 即 target="_blank"
### 布尔属性
布尔属性即只能有跟他的属性名一样的属性值,看起来是没有属性值得属性 但是这是合法的
如: disabled 使表单元素中的控件为不可用 输入框和选择框变灰色 禁止输入和选择
```
<input type="text" disabled="disabled">
```
也可以省略写法为:
```
<input type="text" disabled>
```
#### 单引号和双引号
目前为止,所有的属性都是由双引号包裹里起来的,当然也可以使用单引号包裹。
如下:
```
<a href="www.baidu.com">baidu</a>
```
```
<a href='www.baidu.com'>baidu</a>
```
这两种写法都是正确的
但是 单引号和双引号不能在同一个属性中混用, 也就是在一个标签中引号只能使用一种
```
<a href="www.baidu.com'>baidu</a>
```
上面这种写法是错误的!!!!!
### html 中的特殊字符
无论在html 文件中使用多少个空格(包括回车换行),在浏览器渲染时会将连续的空白字符减少为一个空格符
代码格式:
在html代码中我们让每一个嵌套的元素以两个空格缩进
```
原意字符 等价字符引用
< &lt;
> &gt;
'' &quot
' &apos
& &amp
```
### html 注释
<!-- 注释内容 -->
```
<p>我在注释外!</p>
<!-- <p>我在注释内!</p> -->
```