今天小编给大家分享一下id是html的属性吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
顺晟科技
2021-10-06 11:27:55
150
参考:https://www.cnblogs.com/Dominic-Ji/p/10864457.html
TIPS:浏览器与服务器的b / s 架构和客户端与服务端的c / s 架构本质上没有什么区别。
浏览器窗口输入网址回车后会发生几件事
浏览器统一了与不同服务端的数据交互,因为浏览器自定义了一个标准(http协议)让所有想通过浏览器去与用户交互的服务端都准这个标准去写服务端代码。以一种更简单更方便的模式出现在用户面前。
如果没有浏览器,那么我们只能用对方写好的客户端来和对方的服务端进行数据交互,不同的程序参照自己的规则,要访问很多应用就需要大量的客户端,这显然是不合理的,我们只会取下载常用的客户端,而那些可以用浏览器简化的通常是在浏览器上访问。
http协议
引子:html是一种超文本标记语言,我们所看到的所有页面内部都是html代码
单行注释 : <!--单行-->
多行注释 :<!--
多行1
多行2
-->
# 补充:由于html页面结构比较复杂,内容比较多,不便于后期开发维护,通常在写页面的时候,习惯用注释的方式来划分代码区域
<!--顶部导航条样式开始-->
<!--顶部导航条样式结束-->
<!--左侧菜单栏样式开始-->
<!--左侧菜单栏样式结束-->
<html>
<head></head>:head存放的内容是给浏览器去识别做相应的操作的
<body></body>:body内存放的内容是浏览器展示给用户看道德花里胡哨的页面
</html>
双标签:两对尖括号
<h1></h1>
单标签:一对尖括号
<img />
定义:head内的标签不是给用户看的,而是定义一些配置,主要是给浏览器看的
具体示例
<title>Title</title> 网页标题
<style> h1 {color:red;}</style> 内部用来书写css代码
<link rel="stylesheet" href="mycss.css"> 引入外部css文件
<script> alter(123)</script> 内部用来书写js代码的
<script src="myjs.js"></script> 引入外部js代码
<meta charset="utf-8"> 指定网页的编码
<meta name="keywords" content="老男孩教育,老男孩,老男孩培训,Python培训,Linux培训,网络安全培训,Go语言培训,人工智能培训,云计算培训,Linux运维培训,Python自动化运维,Python全栈开发,IT培训"> 只要在搜索引擎上搜索content里面的内容,就会向用户展示该网站
<meta name="description" content="淘宝网 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!"> 在搜索时,向用户展示的网站信息
<h1>我是h1</h1> 标题标签 1~6级标题
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除线</s>
<p>段落</p>
<br>换行
<hr>水平分割线
空格
> 大于号
< 小于号
& &
¥ ¥
© ©
® 商标®
图片标签
<img src="" alt="" title="" height="" width="">
src="xxx"
1 图片的路径 可以是被本地的路径 也可以是网上的(实际上也是路径)
2 url 直接朝该url发送get请求
alt="xxx"
这是图片加载不出来的时候 给用户的提示信息
title="xxx"
当鼠标浮在图片上时,会自动显示的信息
height=\'200px\' width="200px"
高度和宽度是两个相辅相成的数据,如果我们只改一个,另一个就会根据同等比例对图片进行放缩,如果都改且数值不一致就会导致图片失真
链接标签
<a href="" target=""></a>
这里的链接会自动修改颜色加下划线,如果点击过后就会在该窗口一直显示另一种颜色(浏览器的记录功能),这里的颜色和下划线可以通过css修改
href="www.baidu.com"
1 放url,用户点击就会跳转到url页面
2 放本页面中的其他标签的id值,点击跳转(锚点)
target=""
默认不写的时候a标签的点击事件是在当前野蛮跳转,默认值是:_self
如果我们要在新建的页面跳转,修改为:_blank
a标签实现锚点功能
点击一个文本 自动跳转到对应区域
在href后写#对应id号
<a href="" id="d1">顶部</a>
<h1 id="d111">hello world</h1>
<div style="height: 1000px;background-color: red"></div>
<a href="" id="d2">中间</a>
<div style="height: 1000px;background-color: greenyellow"></div>
<a href="#d1">底部</a>
<a href="#d2">回到中间</a>
<a href="#d111">回到中间</a>
无序列表
<ul type="">
<li>项</li>
<li>第二项</li>
<li>第三项</li>
<li>第四项</li>
</ul>
type里面填写的是样式
虽然ul标签很丑,但是在页面布局的时候,只要是排版一直的几行数据基本上都是用的ul标签
有序列表
<ol type="1" start="5">
<li>111</li>
<li>222</li>
<li>333</li>
</ol>
标题列表
<dl>
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容2</dd>
<dt>标题3</dt>
<dd>内容3</dd>
</dl>
定义:简单的html表格是由table元素以及一个或者多个tr、th或td元素组成
使用
表格基本结构
<table border=1>
<thead>
<tr>
<th>username</th>
<th>password</th>
<th>hobby</th>
</tr>
</thead>
<tbody>
<tr>
<td>alex</td>
<td>123</td>
<td>read</td>
</tr>
<tr>
<td>jason</td>
<td>123</td>
<td>sing</td>
</tr>
<tr>
<td>tank</td>
<td>123</td>
<td>swim</td>
</tr>
</tbody>
</table>
# <thead></thead>:定义表头(字段)
# <tbody></tbody>:定义数据
# <tr></tr>:每一个tr就是一行
# <th></th>:加粗的文本
# <td></td>:普通的文本
表格属性
功能:表单用于向服务器传输数据,从而实现用户与web服务器的交互。表单能够包含input系列标签,比如文本字复选框、单选框、提交按钮等。表单还可以包含textarea、select、filedset和label标签
代码示例
"""
能够获取前端用户数据(用户输入的、用户选择、用户上传...)基于网络发送给后端服务器
"""
# 写一个注册功能
<form action=""></form> 在该form标签内部书写的获取用户的数据都会被form标签提交到后端
action:控制数据提交的后端路径(给哪个服务端提交数据)
1.什么都不写 默认就是朝当前页面所在的url提交数据
2.写全路径:https://www.baidu.com 朝百度服务端提交
3.只写路径后缀action=\'/index/\'
自动识别出当前服务端的ip和port拼接到前面
host:port/index/
<label for="d1"> 种 直接讲input框写在label内
username:<input type="text" id="d1">
</label> 第二种 通过id链接即可 无需嵌套
<label for="d2">password:</label>
<input type="text" id="d2">
ps:input不跟label关联也没有问题
"""
label 和 input都是行内标签
"""
input标签 就类似于前端的变形金刚 通过type属性变形
text:普通文本
password:密文
date:日期
submit:用来触发form表单提交数据的动作
button:就是一个普普通通的按钮 本身没有任何的功能 但是它是最有用的,学完js之后可以给它自定义各种功能
reset:重置内容
radio:单选
默认选中要加checked=\'checked\'
<input type="radio" name="gender" checked=\'checked\'>男
当标签的属性名和属性值一样的时候可以简写
<input type="radio" name="gender" checked>女
checkbox:多选
<input type="checkbox" checked>DBJ
file:获取文件 也可以一次性获取多个
<input type="file" multiple>
hidden:隐藏当前input框
钓鱼网站
select标签 默认是单选 可以加mutiple参数变多选 默认选中selected
<select name="" id="" multiple>
<option value="" selected>新垣结衣</option>
<option value="" selected>斯佳丽</option>
<option value="">明老师</option>
</select>
textarea标签 获取大段文本
<textarea name="" id="" cols="30" rows="10"></textarea>
# 能够触发form表单提交数据的按钮有哪些(一定要记住)
1、<input type="submit" value="注册">
2、<button>点我</button>
# 所有获取用户输入的标签 都应该有name属性
name就类似于字典的key
用户的数据就类似于字典的value
<p>gender:
<input type="radio" name="gender">男
<input type="radio" name="gender">女
<input type="radio" name="gender">其他
</p>
表单属性
<form action="" methed="" enctype=""></form>
"""
这个form标签内供用户书写的数据会被这个表单提交给action的后端
action:控制数据提交的后端路径(服务端)
1.什么都不写,默认给当前页面的url提交数据
2.写全路径:https:www.baidu.com 朝百度服务端提交数据
3.直接写路径的后缀:/index/ 会自动拼接到当前页面ip+port---->ip+port+/index/
methed:控制请求参数
get请求(默认)
虽然能携带数据,但是数据是跟在url后面的,不安全
post请求
携带数据放在请求体里面(表单提交必须是post请求)
enctype:控制数据的编码格式
默认:urlencode只能发送普通文本,文件只能接受文件名
修改为formdata可直接接收文件
"""
表单元素
input:元素会根据不同的type属性,变化为多种形态
"""
text:单行文本输入框 <input type="text"/>
password:密码输入框 <input type="password"/>
date:日期输入框 <input type="date" />
radio:单选框 <input type="radio" />
checkbox:多选框 <input type="checkbox" />
submit:提交按钮 <input type="submit" />
reset:重置按钮 <input type="reset" />
button:普通按钮 <input type="button" />
hidder:隐藏按钮 <input type="hidder" />
file:文件输入框 <input type="file" />
"""
###### 属性说明 ######
# 1 multiple:布尔属性,设置后为多选,否则默认为单选
# 2 disabled:禁用标签
# 3 selected:默认选中该项
# 4 value:定义提交时的选项值
label标签
定义:
说明
示例
# 使用方法一
<form action="">
<label>username:<input type="text"></input></label>
<label>password:<input type="password"></input></label>
</form>
# 使用方法二
<form action="">
<label for="d1">username:</label>
<input type="text" id="d1"></input>
<label for="d2">password:</label>
<input type="password" id="d2"></input>
</form>
textarea多行文本
<textarea name="memo" id="memo" cols="30" rows="10">
默认内容
</textarea>
select标签
默认单选,后啊加multiple变成多选,selected表示默认值
<select>
<option value="" selected>jason</option>
<option value="">tank</option>
<option value="">egon</option>
</select>
重点
# 能触发form表单数据提交的按钮
1 <input type="submit" value="注册"></input>
2 <button>点我</button>
# 用户输入的数据在后端渠道的是一个kv键值对
# 所以在后端书写的时候每个用于书写的标签都要加上name 等于字典里的键 用户输入的数据就是字典里面的值
服务端
from flask import Flask,requests
app = Flask(__name__)
@app.route(\'/index/\' methed=[\'get\',\'post\'])
def index():
print(requests.form)
print(requests.files)
file_obj = requests.files.get(\'mytupian.jpg\')
file_obj.save(file_obj.name)
return \'ok\'
app.run()
页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>注册页面</h1>
<form action="http://127.0.0.1:5000/hz/" method="post" enctype="multipart/form-data">
<label for="d1">
姓名:<input type="text" id="d1" name = "姓名">
</label>
<label for="d2">密码</label>
<input type="password" id="d2" name="密码">
<!--单选 指定相同name才是一类单选-->
<p>
<input type="radio" name="sex" checked value="男">男
<input type="radio" name="sex" value="女">女
</p>
<!--多选 不用指定name -->
<p>
<input type="checkbox">a
<input type="checkbox">b
<input type="checkbox">c
</p>
<p>
<!-- multiple表示可以多选-->
<input type="file" multiple name = \'file\'>
<input type="file" >
</p>
<p>
<select name="" id="" multiple name="select">
<option value="" selected value="a">a</option>
<option value="" value="b">b</option>
<option value="" value="c">c</option>
</select>
</p>
<p>
<textarea name="" id="" cols="30" rows="5"></textarea>
</p>
<p>
<input type="date">
</p>
<p>
<input type="submit">
<input type="button" value="button">
<input type="reset">
<button></button>
</p>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="">
<h1>登录</h1>
<!-- 用户名-->
<p>
<label for="d1">username:
<input type="text" id="d1">
</label>
</p>
<!-- 密码-->
<p>
<label for="d2">password:
<input type="password" id="d2">
</label>
</p>
<!-- 生日-->
<p>
<label for="">birthday:
<input type="date">
</label>
</p>
<!-- 性别-->
<p>
<label for="">gender:
<input type="radio" name="gender">男
<input type="radio" name="gender" checked>女
<input type="radio" name="gender">其他
</label>
</p>
<!-- 爱好-->
<p>
<label for="">hobby:
<input type="checkbox" name="hobby">lasiten
<input type="checkbox" name="hobby">talk
<input type="checkbox" name="hobby" checked>read
<input type="checkbox" name="hobby" checked>writer
</label>
</p>
<!-- 住址-->
<p>address:
<select name="address" id="">
<option value="">重庆</option>
<option value="">成都</option>
<option value="" selected>武汉</option>
<option value="">天津</option>
</select>
</p>
<!-- 水果-->
<p>favorite_furit:
<select name="" id="" multiple>
<option value="">apper</option>
<option value="">pear</option>
<option value="">peach</option>
<option value="">watermale</option>
</select>
</p>
<input type="submit" value="注册">
<input type="button" value="按钮">
<input type="reset" value="重置">
</form>
</body>
</html>
19
2022-10
19
2022-10
18
2022-10
02
2022-10
02
2022-10
02
2022-10