HTML

本文主要是记录一些HTML中的语法使用;

推荐好用的链接:https://www.w3school.com.cn/index.html

HTML标准结构:

<!DOCTYPE html>		<!--通知浏览器使用html来解析本文-->
<html lang="en">	<!--文档的开始标记,该页面html语言为英文,中文:zh--><!---->
<head>		<!--请求头-->
    <meta charset="UTF-8"> 
    <title>Title</title>
</head>
<body>		<!--请求体-->
<H1>您好</H1>
</body>
</html>		<!--文档的结束标记-->

基本标签:

标题标签:

<h1>hello world</h1>
<h2>hello world</h2>
<h3>hello world</h3>
<h4>hello world</h4>
<h5>hello world</h5>
<h6>hello world</h6>

段落标签:

<p>窗前明月光</p>
<p>疑是地上霜</p>
<p>举头望明月</p>
<p>低头思故乡</p>

换行标签:

窗前明月光<br>
疑是地上霜<br>
举头望明月<br>
低头思故乡

文本格式化标签:

<b>定义粗体文本</b><br />
<strong>定义粗体文本方式2</strong><br />
<em>定义斜体字</em><br />
<i>定义斜体字方式2</i><br />
<del>定义删除文本</del><br />

特殊符号链接:

http://tool.chinaz.com/tools/htmlchar.aspx

div&&span标签:

<div>只是一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现.
<span>表示了内联行(行内元素),并无实际的意义,主要通过CSS样式为其赋予不同的表现

超链接标签:

<a href="https://www.baidu.com/">点击跳转到百度首页</a>
href属性指定目标网页地址。该地址可以有几种类型:
    绝对 URL - 指向另一个站点(比如 href="http://www.jd.com)
    相对 URL - 指当前站点中确切的路径(href="index.htm")
    锚   URL - 指向页面中的锚(href="#top")
<a href="https://www.baidu.com/" target="_top" title="跳转百度">点击跳转到百度首页</a>
target参数说明:
	_blank		在新建窗口中打开网页
	_parent		在父级框架中打开网页
	_self		默认值,覆盖自身窗口打开网页
	_top		在顶级框架中打开网页
	framename	在指定的框架中打开网页
<a href="https://www.baidu.com/" target="_top" title="跳转百度">点击跳转到百度首页</a>
title参数说明:链接的提示信息

锚点标签:

## 跳转章节所在位置,返回顶部快捷按钮
<a href="#c1">第一章</a>
<a href="#c2">第二章</a>
<a href="#c3">第三章</a>
<span id="top"></span>

<div id="c1">第一章 <a href="#top">返回顶部</a> </div>
<div id="c2">第二章 <a href="#top">返回顶部</a> </div>
<div id="c3">第三章 <a href="#top">返回顶部</a> </div>

img标签:

<!--
src属性:	可以指定本地图片,也可以指定网络上的图片,当图片无法正常显示,则显示裂图
title属性:	悬浮图片上的提示文字
alt:		指定图像无法显示时的替换文本
width属性:	指定引入图片的显示宽度。
height属性:	指定引入图片的显示高度。
border属性:	指定引入图片的边框宽度,默认为0。
-->
<img src="https://img0.baidu.com/it/u=1545652653,1430553056&fm=26&fmt=auto" title="这是一个图片" alt="元旦图片">
<!--点击图片跳转至相关链接-->
<a href="https://www.baidu.com"><img src="https://img0.baidu.com/it/u=1545652653,1430553056&fm=26&fmt=auto"></a>

列表标签:

## 有序无序指有木有数字序号
<!--无序列表-->
<ul>
	<li>item1</li>
	<li>item2</li>
	<li>item3</li>
</ul>
<!--有序列表-->
<ol>
	<li>item1</li>
	<li>item2</li>
	<li>item3</li>
</ol>

表格标签:

## 表格结构:
<table>
    <tr>
        <td>姓名</td>
        <td>年龄</td>
        <td>爱好</td>
    </tr>
    <tr>
        <td>张三</td>
        <td>12</td>
        <td>女</td>
    </tr>
</table>
## 表格解释:
	<tr>: 表行
	<th>: 表头(颜色会比td深一点)
	<td>:表数据

表单标签:

表单主要是用来收集客户端提供的相关信息,提供了用户数据录入的方式,有多选、单选、单行文本、下拉列表等输入框,便于网站管理员收集用户的数据,是Web浏览器和Web服务器之间实现信息交流和数据传递的桥梁.

form标签属性:
action属性:访问服务器地址
method属性:post、get[默认]
target属性:参考超链接的target属性
enctype属性:
	application/x-www-form-urlencoded[默认值]
	multipart/form-data [用于文件上传]
	text/plain [用于纯文本数据发送]
input标签属性:
<1> 表单类型
type:
	# 文本输入框
	text

	# 密码输入框
	password

	# 单选框
	radio

	# 多选框
	checkbox

	# 日期
	date

	# 提交按钮
	submit

	# 按钮(需要配合js使用.) button和submit的区别
	button

	# form表单需要加上属性enctype="multipart/form-data"
	file 提交文件:
		上传文件注意两点:
	请求方式必须是post
	enctype="multipart/form-data"

<2> 表单属性
name:
	表单提交项的键.
	注意和id属性的区别:name属性是和服务器通信时使用的名称;
	而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和javascript中使用的

value:
	表单提交项的值.对于不同的输入类型,value 属性的用法也不同:
	type="button", "reset", "submit" - 定义按钮上的显示的文本
	type="text", "password", "hidden" - 定义输入字段的初始值
	type="checkbox", "radio", "image" - 定义与输入相关联的值

checked:  radio 和 checkbox 默认被选中
readonly: 只读. text 和 password
disabled: 对所用input都好使.
select下拉标签属性:
# 下拉菜单
select:
	name:表单提交项的键.
	size:选项个数
	multiple:multiple(多选属性)
		optgroup:每一项加上分组
		option:下拉选中的每一项属性:
			value:表单提交项的值
			selected: 下拉选默认被选中
多行文本标签属性:
<textarea name="" id="1" cols="30" rows="10" placeholder="个人简介"></textarea>
placeholder: 提醒信息
按钮标签属性:
## 清空已输入信息
<p><input type="reset" value="重置"></p>
## 普通的按钮,可自己关联事件
<p><input type="button" value="普通按钮"></p>
## 提交事务
<p><input type="submit" value="提交"></p>
lable标签属性:
## 点击文本可以直接进入到输入框
<p><label for="user">姓名</label>
<input type="text" name="user" id="user"></p>

完整示例:

import socket

sock=socket.socket()
sock.bind(("127.0.0.1",8800))
sock.listen(5)

while True:
    print("server is working...")
    conn,addr=sock.accept()
    recv_data=conn.recv(1024)
    print("data:",recv_data.decode())
    with open('index.html') as f:
        html=f.read()
    conn.send("HTTP/1.1 200 OK\r\nContent_Length:11\r\n\r\n{}".format(html).encode())
    conn.close()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="http://127.0.0.1:8800" method="get" >
       <p><label for="user">姓名</label>: <input type="text" name="user" id="user"></p>
       <p>密码: <input type="password" name="pwd"></p>
       <p>爱好:
           <input type="checkbox" name="hobby" value="basketball">篮球
           <input type="checkbox" name="hobby" value="football">足球
           <input type="checkbox" name="hobby" value="shuangseqiu" checked>双色球
       </p>
       <p>性别:
           <input type="radio" name="gender" value="men">男
           <input type="radio" name="gender" value="female">女
           <input type="radio" name="gender" value="qita">其他
       </p>
      <p>生日:<input type="date" name="birth"></p>

      <p>籍贯:
          <select name="province" id="2" multiple size="2">
              <option value="guang">广东省</option>
              <option value="shan" selected>山东省</option>
              <option value="he">河北省</option>
          </select>
      </p>
      <p>
          <textarea name="" id="1" cols="30" rows="10" placeholder="个人简介"></textarea>
      </p>

      <div>
          <p><input type="reset" value="重置"></p>
          <p><input type="button" value="普通按钮"></p>
          <p><button>普通按钮</button></p>
          <p><input type="submit" value="提交"></p>
      </div>

  </form>


</body>
</html>

效果图:

image

服务器收到请求信息:

user=zz&pwd=123&hobby=basketball&hobby=shuangseqiu&gender=female&birth=2022-01-13&province=he

posted @ 2021-12-29 16:54  咖啡馆  阅读(36)  评论(0编辑  收藏  举报