1.html初识

  • 超文本标记语言(Hypertext Markup Language,HTML)通过标签语言来标记要显示的网页中的各个部分。一套规则,浏览器认识的规则
  • 浏览器按顺序渲染网页文件,然后根据标记符解释和显示内容。但需要注意的是,对于不同的浏览器,对同一标签可能会有不完全相同的解释(兼容性)
  • 静态网页文件扩展名:.html 或 .htm

  1.1 html不是什么?

  HTML 不是一种编程语言,而是一种标记语言 (markup language)
  HTML 使用标记标签来描述网页

  1.2  html结构

  • <!DOCTYPE html> 告诉浏览器使用什么样的html或者xhtml来解析html文档
  • <html></html>是文档的开始标记和结束标记。此元素告诉浏览器其自身是一个 HTML 文档,在它们之间是文档的头部<head>和主体<body>。
  • <head></head>元素出现在文档的开头部分。<head>与</head>之间的内容不会在浏览器的文档窗口显示,但是其间的元素有特殊重要的意义。
  • <title></title>定义网页标题,在浏览器标题栏显示。
  • <body></body>之间的文本是可见的网页主体内容

  1.3 html标签格式

2. html 结构

<!DOCTYPE HTML>
<html> <head>
<!--1.设置编码集-->
<meta charset="utf-8" />
<!--2.设置网站标题-->
<title>这是前端内容</title>
<!--3.设置网站图标 http://www.bitbug.net/ 在线制作ico-->
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON" />
<!--4.设置搜索引擎抓取页面的关键字-->
<meta name="keywords" content="html在线学习,css在线学习,js在线学习" />
<!--5.设置搜索引擎抓取页面的网站描述-->
<meta name="description" content="在线学习html , css , js" />
<!--6.设置几秒之后页面跳转-->
<!--
<meta http-equiv="refresh" content="3;url=http://www.baidu.com" />
-->
</head> <body>
<!--字符实体
< <=> < 小于
> <=> > 大于
&nbsp 代表的是空格
-->
5<d 8>3
5<d            8 >3 <!-- <br />代表换行 -->
<br />
11122233
<br />
44455566 <!-- <hr />代表分割线 -->
<hr />
7788
<hr /> <!-- <pre />格式化预览标签 (所有想要原型化输出的内容放到该标签中) -->
<pre>
333
+444
</pre>
</body> </html>

3. 常用标签

<!-- 常用标签 -->
<!DOCTYPE HTML>
<html>
<head>
<title>常用标签</title>
</head>
<body>
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
标签标签标签 <!-- 逻辑强调 w3c 带有语义上的强调 -->
<strong>你好</strong> <!--粗体-->
<em>世界</em> <!--斜体--> <!-- 物理强调 (只是单纯展示效果,没有语义化的概念) -->
<b>你好2</b>
<i>世界2</i> <hr />
h<sub>2</sub>o <!-- h2o -->
x<sup>2</sup>=100 <!-- x2 = 100 --> <hr />
<p>这是一段话</p> <!-- 段落标签 -->
<p>这是二段话</p> <!-- 段落标签 -->
</body> </html>

4. 块状和行内标签

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title> 块状和行内标签 </title>
</head>
<body>
<!--
span 和 div 用来划分 网页内容 和 网页结构 的无语义化标签
div 是块状元素 独占一行 , 可以直接设置宽高
span 是行内元素 不能独占一行,不能直接设置宽高
px 是像素单位,1px 表示一个像素点
-->
<span style="color:green;background-color:yellow;">
张俊文<span style="color:red">黄启新</span>
</span> <div style="width:400px;height:400px;background-color:red;" >我是网页的头部</div>
<div style="width:400px;height:400px;background-color:blue;">我是网页的内容</div>
<div style="width:400px;height:400px;background-color:green;">我是网页的脚部</div>
</body>
</html>

5. 列表标签

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>列表标签</title>
</head>
<body>
<!-- 无序列表 (最为常用) -->
<ul type="circle"> <!-- type = square 方块 circle 空心圆-->
<li>姜子牙</li>
<li>我和的家乡</li>
<li>夺冠</li>
<li>唐人街探案3</li>
</ul> <!-- 有序列表-->
<ol start=5 type="i"> <!-- start=5 起始值 type="i" 代表指定罗马数字-->
<li>姜子牙</li>
<li>我和的家乡</li>
<li>夺冠</li>
<li>唐人街探案3</li>
</ol> <!-- 定义列表-->
<dl>
<!--列表标题用dt-->
<dt>女生曾经说过的谎言</dt>
<!--列表内容-->
<dd>不要</dd>
<dd>你真坏</dd>
<dd>你是个好人</dd>
<dd>给你介绍个特别漂亮的姑娘</dd>
</dl>
</body>
</html>

6. 超链接标签

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>超链接标签</title>
</head>
<body> <!--
. 代表相对当前路径
.. 代表上一级的路径
_self : 指定跳转的方式是当前窗口
_blank: 指定跳转的方式是新窗口
--> <h1>超链接标签</h1>
<a href="./3.html" target="_self" > 点击我1 </a>
<hr />
<a href="./3.html" target="_blank" > 点击我2 </a>
<hr />
<!--显示传参-->
<a href="./3.html?a=1&b=2&c=3" target="_blank" > 点击我3 </a>
<hr />
<!--刷新原页面-->
<a href="">点击我4</a>
<hr />
<!--原页面没有刷新-->
<a href="#">点击我5</a>
<hr />
<!--把文件直接写在a链接中实现下载操作-->
<a href="./W3CSchool.chm">点击我6</a>
</body>
</html>

7. 跳锚点

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>跳锚点</title>
</head>
<body>
<h1>跳锚点练习</h1>
<ul>
<li><a href="#a1">第一章</a></li>
<li><a href="#a2">第二章</a></li>
<li><a href="#a3">第三章</a></li>
</ul> <a id="a1" >第一章</a>
<p style="width:400px;height:1000px;background-color:pink;"> 孙悟空怒捶红孩儿 </p> <a id="a2">第二章</a>
<p style="width:400px;height:1000px;background-color:green;"> 孙悟空怒捶红孩儿 </p> <a id="a3">第三章</a>
<p style="width:400px;height:1000px;background-color:blue;"> 孙悟空怒捶红孩儿 </p> <a href="#">回到顶部</a>
<p style="height:1000px;"></p>
</body>
</html>

8. 图片标签

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>图片标签</title>
</head>
<body>
<!--
img 属于行内块状元素 , 不能独占一行, 但可以设置宽高
如果想要等比例缩放,只调节width即可,如果同时调整宽高有可能图片失真
width 宽
height 高
-->
<img src="./zhouxingchi.jpg" width="260px" height="260px" title="周星驰" />
<a href="https://baike.baidu.com/item/%E5%91%A8%E6%98%9F%E9%A9%B0/169917?fr=aladdin"><img src="./zhouxingchi.jpg" width="260px" height="260px" title="周星驰" /></a>
</body>
</html>

 9. 表格标签

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>表格标签 table </title>
</head>
<body>
<!--
tr 表示一行
th 表示一个单元格(可以将文字加粗,表达标题)
td 表示一个单元格 colspan : 横向合并
rowspan : 纵向合并
-->
<table border="1" width="1000px">
<!--表格头thead-->
<thead style="background-color:red;">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>薪水</th>
<th>部门</th>
</tr>
</thead> <!--表格体tbody-->
<tbody style="background-color:blue;">
<tr>
<td>王文</td>
<td>18</td>
<td>20</td>
<td>python</td>
</tr> <tr>
<td>陈勇</td>
<td>19</td>
<td>30</td>
<td>运维</td>
</tr> <tr>
<td>黄金生</td>
<td>20</td>
<td>40</td>
<td>网络</td>
</tr>
</tbody> <!--表格脚tfoot-->
<tfoot style="background-color:yellow;">
<tr>
<td>黄启新</td>
<td>98</td>
<td>50</td>
<td>高管</td>
</tr>
</tfoot> </table> <!--对单元格进行合并 --> <table border="1" width="1000px">
<!--表格头thead-->
<thead style="background-color:red;">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>薪水</th>
<th>部门</th>
</tr>
</thead> <!--表格体tbody-->
<tbody style="background-color:green;">
<tr>
<td colspan="2"> 左右合并 </td> <td>20</td>
<td rowspan="4">python</td>
</tr> <tr>
<td>陈勇</td>
<td>19</td>
<td>30</td> </tr> <tr>
<td>黄金生</td>
<td>20</td>
<td>40</td> </tr> <tr>
<td>黄启新</td>
<td>98</td>
<td>50</td> </tr>
</tbody> <!--表格脚tfoot-->
<tfoot style="background-color:yellow;">
<tr>
<td colspan="4">横向合并</td>
</tr>
</tfoot> </table> </body>
</html>

10. table属性

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title> table 的方向属性 </title>
</head> <body>
<!--
cellspacing td与td之间的间距(单元格之间的间距)
cellpadding td与其中内容之间的间距
align 水平对齐 left center right
valign 垂直对齐 top middle bottom
--> <table border = "1" width = "400px" height = "200px" cellspacing = "0" cellpadding="0"> <tr align="right" valign="top">
<td>张三</td>
<td>90</td>
<td>100万</td>
<td>辽宁</td>
</tr> <tr align="left" valign = "bottom">
<td>李四</td>
<td>90</td>
<td>100万</td>
<td>丹东</td>
</tr> <tr align="center" valign="middle">
<td>王五</td>
<td align="center" valign="bottom">90</td>
<td>100万</td>
<td>广东</td>
</tr> </table> </body> </html>

 11. iframe子窗口

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>iframe 子窗口 </title>
</head> <body>
<iframe src="" name="zichuangkou" width="800px" height="500px"></iframe> <hr />
<a href="http://www.baidu.com" target="zichuangkou" > 点击我跳转百度 </a>
<hr />
<a href="9.html" target="zichuangkou" > 点击我跳转9.html </a>
<hr />
<a href="10.html" target="zichuangkou" > 点击我跳转10.html </a>
</body> </html>

12. 音视频标签

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>音视频标签</title>
</head> <body>
<!-- audio -->
<video src="ceshi1.mp4" controls = "controls">
抱歉,您的浏览器不支持...视频播放..
</video> <audio src="ceshi2.mp3" controls = "controls">
抱歉,您的浏览器不支持...音频播放..
</audio>
</body> </html>

13. 表达操作

  【模拟服务器代码】

from flask import Flask , render_template , request , redirect
"""安装flask pip3 install flask"""
print(__name__) # (1) 实例化一个flask的应用对象
app = Flask(__name__) # (2) 定义路由(url)
""" The return type must be a string, dict, tuple"""
@app.route("/")
def index():
return "<h1 style='color:red'>服务器运转正常~ flask已经启动~</h1>"
# return 1233 error @app.route('/ceshi1')
def func():
# 获取访问的方法(get , post)
print(request.method , "<====================>") # GET
strvar = """
<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
</head> <body> <!--
action 表示吧数据提交给哪个地址进行处理
method 表示数据以哪种方式进行提交
get 显示提交数据(参数在地址栏上,参数大小2k~8k左右)
post 隐式提交数据(参数不在地址上,参数大小没有限制) input 行内块状元素
-->
<form action="" method="get">
账号:<input type="text" name="username" value="" />
<br />
密码:<input type="password" name="username" value="" />
<br />
<input type="submit" value="登录" style="color:red;background-color:yellow;" />
</form> </body> </html> # return strvar
""" """
# render_template 操作过程; 文件夹的名称必须是templates
with open("./templates/1.form表单.html" mode="rb") as fp:
res = fp.read()
return res.decode()
"""
return render_template("1.form表单.html") # return strvar # get方法提交到 http://127.0.0.1:9008/ceshi2 地址 (路由默认以GET方法接收数据)
@app.route('/ceshi2',methods=("GET",))
def func2():
""" """
if request.method == "GET":
return "ok,就是我 GET" # post方法提交到 http://127.0.0.1:9008/ceshi2 地址
@app.route('/ceshi2',methods=("POST",))
def func3():
if request.method == "POST": # to_dict 把响应的数据转换成字典
dic = request.values.to_dict()
return dic # return "ok,就是我 post" @app.route('/ceshi3',methods=("GET",))
def func4():
if request.method == "GET":
return render_template("2.单选框_复选框_下拉框.html") @app.route('/ceshi4',methods=("POST",))
def func5():
if request.method == "POST":
# 获取表单对应的数据,通过to_dict转化成字典,但无法获取到复选框的所有内容
# return request.values.to_dict()
# 获取复选框时,使用getlist方法,但是返回时需要字典,借助enumerate间接变成字典
# print(request.values.getlist("hobby"))
return dict( enumerate(request.values.getlist("hobby")) ) @app.route('/ceshi5',methods=("POST","GET"))
def func6():
if request.method == "GET":
return render_template("3.文件上传.html") if request.method == "POST":
# 获取上传图片的数据信息
tupian_obj = request.files.get("myfiles")
# 获取上传文件的名字
print(tupian_obj.filename)
# 保存上传的数据
tupian_obj.save( tupian_obj.filename ) # 按照这个名字保存数据
print(request.values.to_dict)
# return request.values.to_dict() strvar = """
恭喜你上传成功,3秒后自动跳转到百度!!!
<meta http-equiv="refresh" content="0;url=http://www.baidu.com" />
"""
# return strvar # redirect 重定向
# return redirect("http://www.baidu.com")
# return redirect("/ceshi2") # (3) 启动服务
app.run(host="127.0.0.1" ,port=9008,debug=True)

(1)form表单

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>form表单</title>
</head> <body> <!--
action 表示吧把数据提交给哪个地址进行处理
method 表示数据以哪种方式进行提交
get 显示提交数据(参数在地址栏上,参数大小2k~8k左右)
post 隐式提交数据(参数不在地址上,参数大小没有限制) input 行内块状元素
--> <form action="/ceshi2" method="post">
账号:<input type="text" name="username" value="" />
<br />
密码:<input type="password" name="password" value="" />
<br />
<input type="submit" value="登录" style="color:red;background-color:yellow;" />
</form> </body> </html>

(2)单选框_复选框_下拉框

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>form表单</title>
</head> <body> <!--
action 表示吧把数据提交给哪个地址进行处理
method 表示数据以哪种方式进行提交
get 显示提交数据(参数在地址栏上,参数大小2k~8k左右)
post 隐式提交数据(参数不在地址上,参数大小没有限制) input 行内块状元素
--> <form action="/ceshi2" method="post">
账号:<input type="text" name="username" value="" />
<br />
密码:<input type="password" name="password" value="" />
<br />
<input type="submit" value="登录" style="color:red;background-color:yellow;" />
</form> </body> </html>

 (3)文件上传

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>文件上传</title>
</head> <body>
<!-- 文件上传的表单方法必须是post,并且指定上传数据的编码格式 multipart/form-data -->
<form action="/ceshi5" method="post" enctype = "multipart/form-data" >
头像:<input type="file" name="myfiles" /> <hr />
<!-- 大段文本框 -->
个人介绍: <textarea name="info" style="width:100px;height:20px;"></textarea>
<!-- 隐藏的表单框 => 隐藏提交的id -->
<hr />
<input type="hidden" name="sid" value="23" />
<!-- update 表明 set name = "王文" where id = 23 -->
<input type="submit" value="提交" />
</form>
</body> </html>

(4)input属性

<!DOCTYPE HTML>
<html> <head>
<meta charset="utf-8" />
<title>input属性</title>
</head> <body>
<!-- placeholder 灰色输入提示 -->
<!-- required 必填 -->
<!-- readonly 只能读不能改 可以被提交 -->
<!-- disabled 只能读不能改 不会被提交 -->
<!-- size 设置输入框的大小 -->
<!-- maxlength 输入框最多可以输入多少字符 -->
<!-- minlength 输入框最少需要输入多少字符 -->
<!-- autofocus 自动获取焦点, 整个页面只能有一个 -->
<!-- tabindex 设置tab的切换顺序 --> <form action="" method="post"> 用户:<input type="text" name="username" placeholder="请输入用户名" disabled tabindex="5" />
<br />
密码:<input type="password" name="password" required tabindex="4" /> <br />
年龄:<input type="text" name="age" value="18" readonly size="30" tabindex="3"/>
<br />
班级:<input type="text" name="classroom" value="" maxlength="4" minlength ="2" tabindex="2" />
<br />
祖籍:<input type="text" name="country" value="" autofocus tabindex="1" />
<br />
<input type="submit" value="提交" /> </form> </body> </html>

  

Day12 HTML知识的更多相关文章

  1. 【JAVA零基础入门系列】Day12 Java类的简单应用

    俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...

  2. day12 查找文件

    day12 查找文件 find命令:查找文件 find命令:在linux系统中,按照我们的要求去查询文件. 格式: find [查询的路径] [匹配模式] [匹配规则] 匹配模式: -name : 按 ...

  3. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  4. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  5. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  6. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  7. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  8. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  9. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

随机推荐

  1. JAVA并发编程--Condition

    Condition主要是为了在J.U.C框架中提供和Java传统的监视器风格的wait,notify和notifyAll方法类似的功能. AQS等待队列与Condition队列是两个相互独立的队列 a ...

  2. mongodb安装教程(亲测有效)

    网上太多教程了,都是说的不明不白,所以自己整理一份 #参考官网: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat ...

  3. 实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令

    一.安装目的 Mininet 安装之后,会连带安装 Open vSwitch,可以直接通过 Python 脚本调用Open vSwitch 命令,从而直接控制 Open vSwitch,通过实验了解调 ...

  4. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  6. 【题解】一本通例题 S-Nim

    \(\color{purple}{Link}\) \(\text{Solution:}\) 这个题就是给\(Nim\)游戏做了一个限制. 考虑一下\(\text{SG}\)函数:给定的局面下对应的\( ...

  7. 【Excel技巧】用IF函数进行等级评定

    如果下面给出一份"2月份语文成绩考核表",那么如何对成绩进行等级评定呢. 等级评定规则: 总分(100分) A级(91-100) B级(81-90) C级(71-80) D级(70 ...

  8. ORA-00001: unique constraint (string.string) violated 违反唯一约束条件(.)

    ORA-00001: unique constraint (string.string) violated   ORA-00001: 违反唯一约束条件(.) Cause: An UPDATE or I ...

  9. linux设置系统变量

    [root@localhost test]# export AUTHOR=brady [root@localhost test]# echo $AUTHOR brady [root@localhost ...

  10. CentOS下编译搭建LAMP环境

    搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...