Day12 HTML知识
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>
- <!--字符实体
- < <=> < 小于
- > <=> > 大于
-   代表的是空格
- -->
- 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知识的更多相关文章
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
- day12 查找文件
day12 查找文件 find命令:查找文件 find命令:在linux系统中,按照我们的要求去查询文件. 格式: find [查询的路径] [匹配模式] [匹配规则] 匹配模式: -name : 按 ...
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 学点HTTP知识
不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
随机推荐
- Ribbon源码分析(一)-- RestTemplate 以及自定义负载均衡算法
如果只是想看ribbon的自定义负载均衡配置,请查看: https://www.cnblogs.com/yangxiaohui227/p/13186004.html 注意: 1.RestTemplat ...
- 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结
061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结 本文知识点:一维数组总结 总结 注意点
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
- VS 高级版本新建的项目如何降级使低版本 VS 可以打开
转载:https://blog.csdn.net/u012814856/article/details/70325267 一.引言 这里因为工作的原因,公司项目使用的是 VS2015 的编译环境,但是 ...
- c语言gets函数
函数gets的原型为:char*gets(char*buffer); 在 stdio.h中定义,如果要程序中用到此函数需包含#include<stdio.h> gets()函数用来从标准输 ...
- ansible-playbook定义变量与使用
1. ansible-playbook变量定义与使用 命令行 在Inventory中定义 在Playbook中定义 在Role中定义 注册变量(register) 系统信息变量(facts) 2. 在 ...
- 2017年 实验四 B2C模拟实验
实验四 B2C模拟实验 [实验目的] 掌握网上购物的基本流程和B2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商 ...
- java中break、continue、return作用
java中break.continue.return作用 0.首先要明确:break和continue是作用对象是循环体:而return的作用对象是方法 break:在执行完本次循环后,跳出所在的循环 ...
- beego增删改查
package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.com/go ...
- css变量复用 全局变量-局部变量
前言 简单使用场景:同一套后台系统有多套主题的情况下,主题色作为一个最常用到的可复用的颜色,非常有必要像js的全局变量一样存在全局变量中以作复用,之前我第一个想到的是sass的变量声明,未曾想到css ...