HTML文档结构
HTML
import socket
server = socket.socket()
server.bind(('192.168.16.160',8001))
server.listen()
while 1:
conn,addr = server.accept()
from_browers_msg = conn.recv(1024)
print('from_browers_msg',from_browers_msg.decode('utf-8'))
send_msg = b'HTTP/1.1 200 ok\r\n\r\n'
# data = b'<h1>daguangtou</h1>'
conn.send(send_msg)
# conn.send(data)
with open('test01.html','r',encoding='utf-8') as f:
data = f.read()
import time
data = data.replace('{{ name }}',str(time.time()))
conn.send(data.encode('utf-8'))
conn.close()
test01.html内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>24期nb</h1>
{{ name }}
</body>
</html>
标签语法
标签的语法:
<标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
<标签名 属性1=“属性值1” 属性2=“属性值2”…… />
HTML常用标签
head内常用标签
标签 | 意义 |
定义网页标题 | |
定义内部样式表 | |
定义JS代码或引入外部JS文件 | |
引入外部样式表文件 | |
定义网页原信息 |
body基本标签
不加标签的纯文字也是可以在body中写的
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>
<p>段落标签</p> #独占一个段落
<h1>标题1</h1>
<h2>标题2</h2>
<h3>标题3</h3>
<h4>标题4</h4>
<h5>标题5</h5>
<h6>标题6</h6>
<!--换行-->
<br>
<!--水平线--><hr> #就是单独个一个水平线
每次加上一些内容,别忘了刷新一下页面,才能看到新添加的效果或者内容,其实上面这些标签很少用
特殊符号
--空格
>大于号
<小于号
...
找HTML特殊符号
标签分类
块级标签(行外标签):独占一行,可以包含内敛标签和某些块级标签,div,p,h1-h6,hr,form
内敛标签(行内标签):不独占一行,不能包含块级标签,只能包含内敛标签 b,i,u,s,a,img,select,input,span,textarea
p标签,p标签内部不能包含块级标签和p标签
img标签和a标签
img标签 内敛标签
<img src="1.png" alt="这是个美女..." width="200" height="200" title="美女">
src属性='图片路径' alt属性='图片加载失败的提示信息' title='鼠标悬浮提示信息'(title属性不单单是img标签的)
a标签(超链接标签)
内联标签
a标签
没有写href属性,<a>百度</a> 显示普通文本
有属性,但是没有值:<a href="">百度</a> #href="" ,写了href属性,但是里面没有值,效果:有特殊效果,文字有颜色,有下划线,点击会刷新当前页面
有属性有值的:<a href="http://www.baidu.com">百度</a>,跳转到href属性指定的网址
<a href="http://www.jd.com" target="_blank">京东</a>
target="_blank" 新的标签页打开,默认是在当前标签页打开
target="_self" 默认的,在当前标签页打开
锚点示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.c1{
height: 1000px;
width: 200px;
background-color: red;
}
</style>
</head>
<body>
<!-- 设置锚点 方式1 -->
<a name="top">这是顶部</a>
<!-- 方式2 <div id="top">div顶部</div> -->
<h1>2</h1>
<!--<div id="top">这是顶部</div>-->
<img src="1.png" alt="这是个美女..." width="200" height="200" title="美女">
<a href="">百度</a>
http://www.baidu.com
<a href="http://www.jd.com" target="_blank">京东</a>
<div class="c1"></div>
#跳转锚点,写的是a标签name属性对应的值,写法 href='#值'
<a href="#top"</a>
</body>
</html>
列表标签
type对应的值:
无序列表type属性对应的值:
disc(实心圆点,默认值)
circle(空心圆圈)
square(实心方块)
none(无样式)
有序列表type属性对应的值: start属性是从数字几开始
1 数字列表,默认值
A 大写字母
a 小写字母
Ⅰ大写罗马
ⅰ小写罗马
有序和无序列表:type属性控制显示样式,start控制起始值
无序列表:
<ul type="none">
<li>柴嘉欣</li>
<li>周道镕</li>
<li>朱凡宇</li>
</ul>
有序列表
<ol type="I" start="2">
<li>柴嘉欣</li>
<li>周道镕</li>
<li>朱凡宇</li>
</ol>
标题列表
<dl>
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容1</dd>
<dd>内容2</dd>
</dl>
table标签(重点)
<table border="1" cellspacing="10" cellpadding="20">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>爱好</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">柴嘉欣</td>
<!-- <td>18</td>-->
<td rowspan="3">篮球</td>
</tr>
<tr>
<td>周道镕</td>
<td>18</td>
<!-- <td>篮球</td>-->
</tr>
<tr>
<td>朱凡宇</td>
<td>18</td>
<!-- <td>篮球</td>-->
</tr>
</tbody>
</table>
常用属性:
border: 表格边框.
cellpadding: 内边距 (内边框和内容的距离)
cellspacing: 外边距.(内外边框的距离)
width: 像素 百分比.(最好通过css来设置长宽)
rowspan: 单元格竖跨多少行
colspan: 单元格横跨多少列(即合并单元格)
input标签
type属性值 | 表现形式 | 对应代码 |
text | 单行输入文本 | |
password | 密码输入框(不显示明文) | |
date | 日期输入框 | |
checkbox | 复选框 | |
radio | 单选框 | |
submit | 提交按钮 | #发送浏览器上输入标签中的内容,配合form表单使用,页面会刷新 |
reset | 重置按钮 | #页面不会刷新,将所有输入的内容清空 |
button | 普通按钮 | |
hidden | 隐藏输入框 | |
file | 文本选择框 | (等学了form表单之后再学这个) |
总结
input文本输入框,input标签如果想将数据提交到后台,那么必须写name属性
input选择框,必须写name属性和value属性
input选择框,name值相同的算是一组选择框**
form表单标签
action属性:值是一个网址,将数据提交到哪个网址去
method属性:提交方法,默认是get,效果是在网址上可以看到提交的数据
注意,想通过form表单标签来提交用户输入的数据,必须在form表单里面写你的input标签,并且必须有个提交按钮,按钮有两种,1: input标签type='submit', 2: botton按钮
select下拉框
<select name="" id="" multiple>
<option value="1">沙河市</option>
<option value="2">于辛庄市</option>
<option value="3">回龙观市</option>
</select>
multiple属性,多选,name属性提交数据时的键,option标签中value属性的值需要写,是将来提交数据的真实数据
label标签 (标识一下标签的作用)
<label for="username">用户名:</label>
<!--用户名:-->
<input type="text" id="username">
<label>
密码 <input type="password">
</label>
1.label 元素不会向用户呈现任何特殊效果。但是点击label标签里面的文本,那么和他关联的input标签就获得了光标,让你输入内容
2.<label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
textarea标签,多行文本输入框