HTML
(Htyper Text Markup Language)超文本标记语言
超文本:就是指页面可以包含图片,连接,音乐,程序等非文字元素
标记语言:标记(标签)构成语言,凡是用<>标记的都是标签语言
网页就是HTML文档,由游览器解析,用来展示的
静态页面:静态资源,用xxx.html
动态页面:html代码由某种开发语言根据用户请求动态生成
HTML文档结构:
根元素html—>html元素—>{meta元素,title元素}
根元素html—>body元素—>{div元素}
HTML基本语法结构
1 |
|
注意:
<!DOCTYPE html>
标签 表示标准模式渲染,W3C标准渲染模式有两种:BackCompat,CSS1Compat。
BackCompat:怪异模式,游览器使用自身怪异模式解析渲染
CSS1Compat:标准模式,游览器使用W3C标准解析渲染页面
如果页面没有DOCTYPE声明,那么compatMode默认就是BackCompat
在html使用
<script>alert(window.top.document.compatMode)</script>
来查看当前游览器渲染模式
HTML标签
表示标签,通常标签不区分大小写。 标签分为两部分(开始标签 和结束标签),两个标签之间的部分叫标签体。
有些标签功能简单,使用一个标签就可以,叫自闭合标签。如
<br/> <hr/> <input/> <img/>
。标签可以嵌套,但不能交叉嵌套。如
<a><b></a></b>
这样是错误的,<a><b></b></a>
这样才正确。
HTML属性
通常是键值对 形式出现,如name=’zhuxy’
属性只能出现在开始标签,或自闭合标签中
属性名字全部小写,”属性值” 必须使用双引号或单引号 如:name=”zhuxy”,name=’server’
如果属性值和属性名一样,直接写属性名就可以。如:readonly=readonly ===> readonly
属性通常有自定义属性,和内在属性
基本标签
<head>
标签
通常这个标签只是解释性标签,不做显示用。
<meta>
标签
<meta>
标签组成有两个属性分别是name
属性和http-equiv
属性
name
属性:主要用于描述页面与之对应的属性为content,content内容主要便于搜索引擎机器人查找信息和分类信息用例子:
<meta name='keywords' content='meta总结,html meta,meta属性,meta跳转'>
主要是用于搜索后出来的描述信息
http-equiv
属性:相当于http文件头作用,它像游览器传回一些有用信息,以帮助正确和精确显示网页内容,属性值也是content例子:
<meta http-equiv="Refresh" content="2;URL=https://www.baidu.com">
刷新属性,2秒后刷新到百度,如果没有URL表示2秒刷新
例子:
<meta http-equiv="content-Type" charset="UTF8">
可以简写成<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
如果想适应IE7 就可以兼容IE7
<title>
标签
用于游览器显示的标题。
例子:
1 | <link rel="icon" href="http://www.zhuxyid.com/favicon.ico"> #引入图标 |
<body>
标签
显示正文信息,在body里面定义的都可以在页面上显示。
其他标签
1 | <hN> #h1~h6 表示标题 |
特殊字符
1 | 空格 |
标签种类
块级标签(block)
块级标签独占一行,如:
<p>
<h1>
<table>
<ol>
<ul>
<form>
<div>
块级标签特点:
- 总是在新行上开始
- 宽带默认是他容器的100%,除非设定一个高度
- 可容纳内联元素和其他块元素
- 块可以嵌套内联和块标签
内联标签(inline)
内联标签不占,如:
<a>
<input>
<img>
<sub>
<sup>
<textarea>
<span>
内联标签特点
- inline(内联)元素特点
- 和其他元素都在一行上
- 宽度就是他的文字或图片的高度,不可改变
- 内联元素只能容纳文本或者其他内联元素
- 内联可以嵌套内联
常见标签
<img>
标签
通常设置图片信息,如宽度,大小,来源等信息
属性如下:
1
2
3
4
5
6 src #图片路径
width #图片宽度 单位:px像素 %百分比(根据游览器)
height #图片高度 单位同上
alt #没有加载成功提示
title #鼠标悬浮时提示
示例:
1
2 > <img src="../file/grafana.png" alt="grafana" title="grafana1111" width="100%" height="100%">
>
<a>
标签
通常文字的信息,如连接,跳转方式等
属性如下
1
2
3
4
5
6
7
8
9
10
11
12 href #要链接的资源路径
target="_self" #当前游览器打开被链接文档
name #定义页面书签
id #表示每个标识的id,不能一样,每个标签都可以添加id
id通常用于跳转 href="#id" 锚
#target其他方式跳转,默认是_self,
# _self 在相同的游览器打开被链接文档
# _blank 在新窗口打开被链接文档
# _parent 在父游览器集中打开被连接文档
# _top 在整个窗口打开被连接文档
示例:
1
2 > <a href="http://www.zhuxyid.com" target="_blank" name="zhuxyid" >跳转zhuxyid.com</a>
>
定义锚点:
1
2
3
4 > <a id="head" href="#tail">返回底部</a>
> <img src="../file/grafana.png" height="100000px">
> <a id="tail" href="#head">返回顶部</a>
>
可以嵌套,比如点击图片跳转响应页:
1
2
3
4 > <a href="http://www.zhuxyid.com" target="_blank" name="zhuxyid">
> <img src="../file/grafana.png" alt="截图" title="grafana1111" width="100%" height="100%">
> </a>
>
列表标签
<ul>
无序列表
<ul>
(unordered list)无序列表 格式:
1
2
3
4
5
6 ><ul>
> <li>标签1</li>
> <li>标签2</li>
> <li>标签3</li>
></ul>
>
<ol>
有序列表
<ol>
(order list)有序列表 格式
1
2
3
4
5
6 > <ol>
> <li>标签1</li>
> <li>标签2</li>
> <li>标签3</li>
> </ol>
>
有序列表显示类型如下:
<ol type=[1|A|a|I|i]>
1 阿拉伯数字1, 2, 3等,默认type
A 大写字母A,B,C
a 小写字母a,b,c
I 大写罗马数字Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ
i 小写罗马数字i,ii,iii ,iv,v
列表嵌套
无序列表可以嵌套有序,有序也可以嵌套无序
1 | <ul> |
定义型列表
通常用对列表条目进行简短说明。
格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 > <dl>
> <dt></dt>
> <dd></dd>
> <dd></dd>
> <dt></dt>
> </dl>
>
> #实例
> <dl>
> <dt>软件说明:</dt>
> <dd>简单介绍软件功能1</dd>
> <dd>简单介绍软件功能2</dd>
> <dt>软件界面:</dt>
> <dd>用于选择软件外观</dd>
> </dl>
>
表单标签
<from>
标签
表单标签,通常用于接受不同类型的用户输入,用户提交表单时想服务器传输数据,从而实现用户与web服务器的交互,表单标签,要提交的所有内容都应该在该标签中
表单能够包含
<input>
元素,比如文本字段,复选框,单选框,提交按钮等表单还可以包含
<textarea>
<select>
<fieldset>
和<label>
元素
<from>
属性
1
2
3
4
5
6
7
8
9 > action 表单提交到哪,一般指向服务端一个程序,程序接受表单提交过来的数据(即表单元素值),做响应处理
> method 表单提交方式POST/GET 默认取值就是GET
> enctype 上传文件
> #enctype="multipart/form-data" #分段上传
>
> #method方式特点:
> GET特点: 提交键值后放在url后面,安全性差。对提交内容有长度限制1024
> POST特点: 提交键值后不放在url后,安全性高。对提交内容长度不限制ls
>
<input>
标签
表单输入,用户输入类型有文本,密码,多选,单选,上传,提交等
<input>
属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 type #输入类型
name #定义标签名称
value #定义标签值(有name就有value,传入后端)
placeholder #占位符,显示输入点击的内容,默认鼠标点击该标签是空白
readonly #表示只读,这里是缩写形式,可以写成readonly='readonly'
checked #表示默认选择,这里也是缩写形式,checked=‘checked’
disabled #表示禁用,类似readonly,这样也是缩写形式
#type类型如下:
type = "text" #普通文本
type = "password" #密码文件,输入都是以.表示
type = "checkbox" #多选
type = "radio" #单选
type = "botton" #只是一个点击按钮,通常用作绑定一个事件
type = "reset" #重置
type = "submit" #提交,默认显示submit按钮,如果添加了value那就显示对应的value。
type = "file" #上传文件,需要在from标签添加enctype属性,必须是post不能get形式
#在django中处理文件代码如下:
for item in request.FILES:
fileObj = request.Files.get(item)
f = open(fileObj.name,'wb')
iter_file = fileObj.chunks()
for i in iter_file:
r.write(line)
f.close()
<select>
标签
下拉框选择器,可以单选可以多选
<select>
属性
1 | name #指定name,后端接受,默认是单选 |
<optgroup>
标签
定义在
<select>
内部属性有:
1
2 > label #定义一个名称
>
<option>
标签
定义在
<select>
内部,<select>
下拉的内容属性有:
1
2
3 > value 指定值
> select 默认选中,这里是缩写,select="select"
>
<textarea>
标签
定义一个文本域
属性有:
1
2
3
4 > name 表单提交的键
> cols 文本域默认多少列
> rows 文本域默认多少行
>
其他标签
<label>
标签
带有两个输入字段和相关标记的简单html表单。
通常
<label>
标签为<input>
元素定义标注,<label>
元素不会想用户呈现效果,如果您在 label 元素内点击文本,就会触发此控件,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上,<label>
标签的 for 属性应当与相关元素的 id 属性相同。
1 | <label for='www'>name</label> |
<fieldset>
标签
一个简单的特性用的不多
1 | <fieldset> |
表单示例
1 | <html lang="en"> |
表格标签
<table>
标签
通常定义一个表格。
<table>
属性
1
2
3
4
5 border 表格边距
cellpadding 表格内边距
cellspacing 表格外边距
width 表格宽度,默认单位为像素,width="100%"可以为百分比
<thead>
标签
通常定义表格头信息
<thead>
属性
1 | <tr> 表格行 |
<tbody>
标签
定义表格内容
<tbody>
属性
1 | <tr> 表格行 |
表格示例
1 | <table border="1px" cellpadding="5px" cellspacing="5px"> |