目录
一、标签的分类
1. 单标签
img br hr ...
<img />
2. 双标签
a h p div...
<a></a>
3. 按照标签属性分类
- 块级标签
- 自己独自占一行
h1-h6 p div...
- 行内(内联)标签
- 自身文本有多大就占多大
a span u i b s...
二、标签的嵌套
- 标签之间是可以互相嵌套的,标签套标签
- 块级元素是可以嵌套所有的标签的
- p标签不能够嵌套块级元素,但是它可以嵌套行内元素
- 行内元素只能嵌套行内元素,不能够嵌套块级元素,非要写了嵌套,也不报错,只不过是没有效果
- 针对于前端来说,不会轻易的报错! 如果你写的不对,只会没有对应的效果!
三、标签的两个自带重要属性
- id值:相当于是人的身份证,一个文档中,id值不能够重复,必须唯一
- class值:是可以有多个的,一个标签可以有多个class值,一个class值也可以被多个标签拥有
<div id="d1" class='c1 c2 c3'></div>
<div id="d2" class='c2'></div>
<div id="d3" class='c3'></div>
<div id="d3" class='c1'></div>
- 要想使用id值,必须使用#开头
- #d1
- 要想使用class值,必须使用 .开头
- .c1
四、div标签和span标签
这两个标签它是没有实际意义的,主要用来布局页面。
- div一般用在占位置布局
- span一般用在占文本布局
五、img标签
<img src="123.png" title="你看我好看吗" width="400px" alt="抱歉,图片暂时不存在">
- src:图片的路径
- 内部的图片地址
- 外链的地址
- title:鼠标悬浮的时候显示的内容(是所有标签都要的)
- width: 图片的宽度
- height:图片的高度
- 一般情况下只写一个,等比例缩放
- alt:当图片不存在的时候,显示的内容
六、a标签
超链接标签
所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。
<a href="http://www.oldboyedu.com" target="_blank" >点我</a>
href属性指定目标网页地址。该地址可以有几种类型:
- 绝对URL - 指向另一个站点(比如 href="http://www.jd.com)
- 相对URL - 指当前站点中确切的路径(href="index.htm")
- 锚URL - 指向页面中的锚(href="#top")
target:
- _blank表示在新标签页中打开目标网页
- _self表示在当前标签页中打开目标网页
七、列表
1. 无序列表
<ul type="disc">
<li>第一项</li>
<li>第二项</li>
</ul>
type属性:
- disc(实心圆点,默认值)
- circle(空心圆圈)
- square(实心方块)
- none(无样式)
2. 有序列表
<ol type="1" start="2">
<li>第一项</li>
<li>第二项</li>
</ol>
3. 标题列表
<dl>
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容1</dd>
<dd>内容2</dd>
</dl>
八、表格
表格是一个二维数据空间,一个表格由若干行组成,一个行又有若干单元格组成,单元格里可以包含文字、列表、图案、表单、数字符号、预置文本和其它的表格等内容。
表格最重要的目的是显示表格类数据。表格类数据是指最适合组织为表格格式(即按行和列组织)的数据。
表格的基本结构:
<table>
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>爱好</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>jason</td>
<td>杠娘</td>
</tr>
<tr>
<td>2</td>
<td>Yuan</td>
<td>日天</td>
</tr>
</tbody>
</table>
属性:
- border: 表格边框.
- cellpadding: 内边距
- cellspacing: 外边距.
- width: 像素 百分比.(最好通过css来设置长宽)
- rowspan: 单元格竖跨多少行
- colspan: 单元格横跨多少列(即合并单元格)
九、form表单标签
表单元素
基本概念:
HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
表单一般用来收集用户的输入信息
表单工作原理:
访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。
服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息。
功能:
表单用于向服务器传输数据,从而实现用户与Web服务器的交互
表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含textarea、select、fieldset和 label标签。
表单属性
属性 | 描述 |
accept-charset | 规定在被提交表单中使用的字符集(默认:页面字符集)。 |
action | 规定向何处提交表单的地址(URL)(提交页面)。 |
autocomplete | 规定浏览器应该自动完成表单(默认:开启)。 |
enctype | 规定被提交数据的编码(默认:url-encoded)。 |
method | 规定在提交表单时所用的 HTTP 方法(默认:GET)。 |
name | 规定识别表单的名称(对于 DOM 使用:document.forms.name)。 |
novalidate | 规定浏览器不验证表单。 |
target | 规定 action 属性中地址的目标(默认:_self)。 |
from django.conf.urls import url
from django.shortcuts import HttpResponse
def upload(request):
print("request.GET:", request.GET)
print("request.POST:", request.POST)
if request.FILES:
filename = request.FILES["file"].name
with open(filename, 'wb') as f:
for chunk in request.FILES['file'].chunks():
f.write(chunk)
return HttpResponse('上传成功')
return HttpResponse("收到了!")
urlpatterns = [
url(r'^upload/', upload),
]
十、input
<input> 元素会根据不同的 type 属性,变化为多种形态。
type属性值 | 表现形式 | 对应代码 |
text | 单行输入文本 | <input type=text" /> |
password | 密码输入框 | <input type="password" /> |
date | 日期输入框 | <input type="date" /> |
checkbox | 复选框 | <input type="checkbox" checked="checked" /> |
radio | 单选框 | <input type="radio" /> |
submit | 提交按钮 | <input type="submit" value="提交" /> |
reset | 重置按钮 | <input type="reset" value="重置" /> |
button | 普通按钮 | <input type="button" value="普通按钮" /> |
hidden | 隐藏输入框 | <input type="hidden" /> |
file | 文本选择框 | <input type="file" /> |
属性说明:
- name:表单提交时的“键”,注意和id的区别
- value:表单提交时对应项的值
- type="button", "reset", "submit"时,为按钮上显示的文本年内容
- type="text","password","hidden"时,为输入框的初始值
- type="checkbox", "radio", "file",为输入相关联的值
- checked:radio和checkbox默认被选中的项
- readonly:text和password设置只读
- disabled:所有input均适用
十一、select标签
<form action="" method="post">
<select name="city" id="city">
<option value="1">北京</option>
<option selected="selected" value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
</form>
属性说明:
- multiple:布尔属性,设置后为多选,否则默认单选
- disabled:禁用
- selected:默认选中该项
- value:定义提交时的选项值
十二、验证form表单朝后端提交数据
<form action="">
action:
写朝后端提交的地址
这里你写什么地址就朝这个地址提交数据,应该填写后端的地址
1. 什么都不写:朝当前地址提交
2. 全写:http://127.0.0.1:5000/index/ 朝这个地址提交
3. 只写后缀
/index/-------->IP:PORT/index
form表单要想把数据提交到后端,每一个标签都要有一个name属性。
name的属性值就是提交到后端数据的key值,用户输入的内容就是value值。
针对于复选框、单选框标签都应该有一个value属性,用于区别前端用户选择的哪个选项。
对于文件数据的提交需要满足以下两个条件:
- 请求方式必须是post
- 数据编码方式:
- 1. application/x-www-form-urlencoded
- 2. multipart/form-data
- 3. json
- 编码方式必须是multipart/form-data才能提交问价。
- urlencoded只能够提交不是文件的数据,form-data是可以提交普通数据和文件数据。
- urlencoded形式的数据长什么样子:
- username=&password=&date=&hidden=123&myfile=&city=
- form-data编码格式的数据:
- username=&password=&date=&hidden=123&myfile=&city=
- boundary=----WebKitFormBoundaryhwrBD6WMC3rBJXOy
对于form-data提交的数据,后端还是在form里面去普通数据,而在files里面去文件数据。
- form表单不能够提交json数据。
- 如果想提交json格式的数据:Ajax技术、第三方的api工具postman。
十三、label标签
定义:<label> 标签为 input 元素定义标注(标记)。
说明:
- label 元素不会向用户呈现任何特殊效果。
- <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
<form action="">
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</form>
十四、textarea多行文本
<textarea name="memo" id="memo" cols="30" rows="10">
默认内容
</textarea>
属性说明:
- name:名称
- rows:行数
- cols:列数
- disabled:禁用