Python-web开发学习笔记(2)--- HTML基础

news2025/2/28 15:57:32

先回顾一下上一篇文章:Python-web开发学习笔记(1)--- HTML基础_python web开发笔记_尚拙谨言的博客-CSDN博客

中讲了哪几个常用的HTML标签:


<head>:头声明

<title>:网页标题

<h1>~<h6>:内容标题

<div>:块级标签,用于内容单独成块,使用该标签后,内容强制占用网页的一整行

<span>:行内标签,也用于内容单独成块,但该标签中的内容不强制占用一整行

<a href=' '>:超链接,用于跳转网页

<img src=' '>:图片链接,用于插入网页

        - <img src="" style="height:200px; width:200px;" /> /* 第一种设置图片尺寸方法 */
        - <img src="" style="height:5%; width:5%;" /> /* 第二种设置图片尺寸方法 */


接着上一篇,我们继续讲几个常用的HTML标签

目录

一、HTML标签

1. 列表:<ul>、<ol>、<li>

2. 表格:<table>

3. 文本输入:<input>

4. 下拉框:<select>

5. 表单:<form>

二、总结


一、HTML标签

1. 列表:&lt;ul&gt;、&lt;ol&gt;、&lt;li&gt;

列表分为有序列表和无序列表,像word中这种:

 看上图就一目了然。

HTML中,无序列表用<ul>修饰,有序列表用<ol>修饰,修饰中的列表内容,用<li>,括起来。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<ul>
    <li>无序小标题1</li>
    <li>无序小标题2</li>
    <li>无序小标题3</li>
</ul>
<div>-------------------</div>
<ol>
    <li>有序小标题1</li>
    <li>有序小标题2</li>
    <li>有序小标题3</li>
</ol>
</body>
</html>

2. 表格:&lt;table&gt;

有的时候,页面上需要展示表格,在HTML中,表格用<table>修饰。而表格有三大要素:表头、行、列,在HTML中,表头用<thead>表示,表头的列用<th>表示,表用<tr>表示,表用<td>表示。此外,还需要用<tbody>标签将表的内容部分包裹起来:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<table>
    <thead>
    	<tr>  <th>表头1行1列</th>  <th>表头1行2列</th>  <th>表头1行3列</th>  </tr>
    </thead>
    <tbody>
    	<tr>  <td>1行1列</td>  <td>1行2列</td>  <td>1行3列</td>   </tr>
        <tr>  <td>2行1列</td>  <td>2行2列</td>  <td>2行3列</td>   </tr>
        <tr>  <td>3行1列</td>  <td>3行2列</td>  <td>3行3列</td>    </tr>
    </tbody>
</table>
</body>
</html>

好像和我们认知中的表格长的不一样,表格至少得有个框好看点吧,那么这里我们在<table>中加入属性border="1":

<table border="1">
    <thead>
    	<tr>  <th>表头1行1列</th>  <th>表头1行2列</th>  <th>表头1行3列</th>  </tr>
    </thead>
    <tbody>
    	<tr>  <td>1行1列</td>  <td>1行2列</td>  <td>1行3列</td>   </tr>
        <tr>  <td>2行1列</td>  <td>2行2列</td>  <td>2行3列</td>   </tr>
        <tr>  <td>3行1列</td>  <td>3行2列</td>  <td>3行3列</td>    </tr>
    </tbody>
</table>

虽然看上去哪儿奇奇怪怪的,但至少让人一看就知道是个表格了,至于哪儿奇奇怪怪,等到我们学完css后再优化它。

3. 文本输入:&lt;input&gt;

还记得你填写过的调查问卷么?页面上不仅有各种让你选择的条目,有些是单选,有些是多选,也有一些让你自己输入文字的框框,它们是怎么来的呢?这就用到了HTML中的<input>标签了。input标签通过type属性的设置,将呈现不同的input类别:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<div>
    <input type="text">
</div>
<div>
    <input type="password">
</div>
<div>
    <input type="file">
</div>
<div>
    <input type="radio" name="n1">男
    <input type="radio" name="n1">女
</div>
<div>
    <input type="checkbox">篮球
    <input type="checkbox">足球
    <input type="checkbox">乒乓球
    <input type="checkbox">棒球
</div>
</body>
</html>

针对上述结果简单概括一下type不同值:

  • text
    纯文本输入框,可在框内输入任意文字。例如登录页面的账户、一些让你提交意见或建议的位置等。但是提交建议这种可能需要输入多行文字的,一般不建议用text,而改用多行文本输入框<textarea>标签:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>我的主题</title>
    </head>
    <body>
    <textarea></textarea>
    </body>
    </html>

  •  password
    密码输入框,在框内输入的内容将会被脱敏,最常见的就是用“·”来替换原文字;
  • file
    点击可选本地文件,例如一些让你上传文件的位置;
  • radio
    单选。作为单选,必须同时加上name属性,且name值在同一单选项中必须一致,如上述代码中,男女只能选其一,那么男女的name都为“n1”
  • checkbox
    复选框,可选多个选项。

其实<input>标签还有一个大家熟悉的功能,就是按钮功能,此时,type的值为“button”或“submit”:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<input type="button" value="确定">
<input type="submit" value="提交">
</body>
</html>

“button”和“submit”两种按钮设置方式还真有点区别,前者就是个常规的按钮功能,例如可以用它来触发一些事件;后者就多用于表单的提交了,它可以将表单的内容与后台数据库进行一些交互。

4. 下拉框:&lt;select&gt;

<select>标签用于下拉框的实现,当该标签没有写任何属性时,它就是个单选下拉框;当该标签配上multiple字段时,它就是个多选下拉框了:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<select>
    <option>北京</option>
    <option>上海</option>
    <option>深圳</option>
</select>

<select multiple>
    <option>北京</option>
    <option>上海</option>
    <option>深圳</option>
    <option>广东</option>
    <option>厦门</option>
</select>
<input type="button" value="提交">
</body>
</html>

有个小细节,如上图,我们要选上海和广东时,需要按住Ctrl(Windows)或者command(Mac)。操作比较骚,因此这里不建议使用这种作为下拉框,我们应该使用复选框,但如果确实有很多下拉选项,而且是复选需求,那么就不再是简单的下拉框了,需要用到更复杂的样式,这里暂时不做重点介绍。

5. 表单:&lt;form&gt;

既然上文我们提到了表单,那就不得不介绍一个非常重要的标签:<form>。该标签修饰的表单能够向后台服务器传输表单数据:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的主题</title>
</head>
<body>
<form action="/html_classes/templates/表单提交结果.html" method="post">
    姓名: <input type="text" name="Name" value="Django"><br>
    职业: <input type="text" name="Job" value="IT"><br>
    <input type="submit" value="提交">
</form>

<p>点击"提交"按钮,页面将会显示"表单提交成功!"。</p>
</body>
</html>

其中,『action』写的是我们要提交表单数据到服务器的地址,『method』是服务请求方式,主要分为POST请求和GET请求,这里只需记住,表单的提交大多使用POST请求。

这里我们假设后台服务器地址是另一个HTML文件:"/html_classes/templates/表单提交结果.html",点击『提交』后将会显示“表单提交成功!”。 

注意,在实际业务中,我们的表单提交目的地,应该是服务器的地址,这里我们图方便,举个例子而已。

关于POST和GET请求的一点补充:

  • GET请求
    浏览器通过用户的页面操作发起请求,并将请求的数据拼接在URL上传输给后台服务,后台服务对URL进行相关解析,得到请求结果,并将结果返回给浏览器(称之为响应)。

URL地址中,从“?”后面都是浏览器为了向服务器发起请求以及返回结果时拼接的一些必要的字段,比如这里有个“wd=什么是爱”,这是请求和响应URL中包含了的你搜索的问题。大家可以直接在url中将“什么是爱”改成其它你要搜索的问题,然后回车,这将会得到与你在百度搜索框中搜索相同问题时一样的结果。其实通过URL并拼接上请求字段向后台服务器发起请求才是我们百度搜索发起和结果返回的本质。

  •  POST请求
    其实本质上和GET请求一样,只不过在POST请求中,我们额外拼接的请求字段将不会在URL中显示,而是会以JSON结构体的形式在后台交互,所以POST请求你是无法直接在页面上看到具体信息的,它多用于表单的提交、身份登录等场景。小伙伴们可以自己找个登录页面试一试。

二、总结

至此,我们便已将几个常用的HTML标签学完。但特别强调,HTML标签远远不止我介绍的这些,且我介绍的这些标签的用法也不止于本系列文章,但各位没必要全部记住,也不可能全部记住,大家只需要对这些常用的HTML标签有个大概的掌握即可,最重要的是知道HTML标签究竟是怎么回事。至于其它更多的标签以及标签的不同用法,各位今后在学习工作中用到了再查就行。

<head>:头声明

<title>:网页标题

<h1>~<h6>:内容标题

<div>:块级标签,用于内容单独成块,使用该标签后,内容强制占用网页的一整行

<span>:行内标签,也用于内容单独成块,但该标签中的内容不强制占用一整行

<a href=' '>:超链接,用于跳转网页

<img src=' '>:图片链接,用于插入网页

        - <img src="" style="height:200px; width:200px;" /> /* 第一种设置图片尺寸方法 */
        - <img src="" style="height:5%; width:5%;" /> /* 第二种设置图片尺寸方法 */
<ul>:无序列表

<ol>:有序列表

<li>:列表项,与<ul>或<ol>搭配使用

<table>:表格。其内嵌标签中,表头用<thead>表示,表头的列用<th>表示,表用<tr>表示,表用<td>  表示。此外,还需要用<tbody>标签将表的内容部分包裹起来。

<input>:通过type属性的不同,其有7个不同样式:

        -text:纯文本输入,注意与<textarea>区分开;

        -password:密码输入框,会隐掉输入;

        -file:文件选择框;

        -radio:单选框,必须有相同的name值;

        -checkbox:复选框;

        -button:普通按钮;

        -submit:提交按钮,用于提交表单数据;

<select>:下拉框,下拉选项需要与<option>搭配使用,单选;加上“multiple”为多选下拉框;

<form>:表单。能够将表单数据发送给后台,如Django;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/556668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

深度学习实战四:全连接神经网络(基于Pytorch,含数据和详细注释)

文章目录 概念softmax与交叉熵反向传播计算机视觉工具包torchvision全连接神经网络实现多分类概念 神经网络的第一层为输入层,最后一层为输出层,中间的所有层都叫做隐藏层 在计算神经网络层数时,一般不计算输入层,比如: 该神经网络的层数为2。输入层神经元有3个,隐藏层…

redis缓存数据库的使用

一&#xff0c;什么是redis &#xff1f;为什么要用它&#xff1f; 简单介绍&#xff1a; Redis是开源的key-value缓存框架&#xff0c;由c语言编写&#xff0c;也是一款高性能的框架提供多种语言的API 。 SET 每秒11万次 取get每秒81000次。 数据完全存储在内存空间中&…

【C++从0到王者】第八站:模板初阶

文章目录 一、泛型编程二、函数模板1.函数模板概念2.函数模板格式3.函数模板的原理4.函数模板的实例化1.隐式实例化2.显示实例化 5.模板参数的匹配原则 三、类模板1.类模板的格式2.类模板的实例化 一、泛型编程 当我们在写一个交换程序的时候 按照我们之前的想法&#xff0c;我…

谷歌算法快讯0519:近日排名变化频繁,排名或许回温?

从上周末到现在&#xff0c;已经有人注意到排名似乎又有了新的变化&#xff0c;根据WebMaster World上的帖子[1]和业内大家的讨论来看&#xff0c;大家共同的认识是5月16日开始就已经有变化&#xff0c;并且在5月19日的SEMRush Sensor来看已经到达峰值。 有一些在3月份谷歌更新…

yomichan使用笔记

导入词典词典下载 键盘快捷键 Alt Insert 打开搜索页面。 Alt DeleteToggle 打开/关闭扩展。 搜索结果中提供以下快捷方式&#xff1a; Esc取消当前搜索。 Alt PgUpPage 向上浏览结果。 Alt PgDnPage 向下浏览结果。 Alt End 转到最后一个结果。 Alt Home 转到第…

zookeeper的安装使用

zookeeper的安装使用 一、下载安装 https://zookeeper.apache.org/ 点击 download 以我自己的安装为例,linux,3.8.0 准备3台linux服务器&#xff1a;192.168.10.128、192.168.10.129、192.168.10.130 1.上传解压 把apache-zookeeper-3.8.0-bin.tar.gz 上传到 /usr/local/zo…

力扣sql中等篇练习(二十五)

力扣sql中等篇练习(二十五) 1 最繁忙的机场 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # Write your MySQL query statement below WITH T as (SELECT t.airport_id,SUM(n) numFROM(SELECT departure_airport airport_i…

【C++进阶之路】内存管理

文章目录 一.内存管理1. 内存布局2. C的内存管理 ①内置类型② 自定义类型 3. operate new 与 operate delete ① 解读operate new源代码② 解读operate delete源代码 4. new和delete的基本原理①new对类对象②delete对类对象 拓展—— 深入理解delete[]和new[]对比 C和C内存…

Java数据类型之字符串

字符集/编码表 ex&#xff1a;ASCII码 字符char&#xff1a;单引号‘ ’引起来的单个字符 转义字符 \n 作用&#xff1a;换行&#xff0c;单引号引用&#xff01;&#xff01;&#xff01; 制表符 \t 作用&#xff1a;加上 \t 前面一共空8个 字符与编码的转换 1.直接输出字…

opencv_c++学习(十九)

一、图像间的距离变换 三种常用的距离计算方法&#xff1a; 欧式距离这里就不在解释。 街区距离&#xff1a;顾名思义&#xff0c;就类似于城市距离一样&#xff0c;并不是通过两点间的距离&#xff0c;而是我们从一个地点到达另一个地点的路程(横纵坐标差值之和)。 棋盘距离…

每日学术速递5.21

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Going Denser with Open-Vocabulary Part Segmenta 标题&#xff1a;通过开放式词汇部分分割变得更密集 作者&#xff1a;Peize Sun, Shoufa Chen, Chenchen Zhu, Fanyi Xiao, Pi…

代码随想录算法训练营第十三天|239. 滑动窗口最大值、347.前 K 个高频元素

滑动窗口最大值 题目链接&#xff1a;力扣 知识点&#xff1a;单调队列 解题思路&#xff1a; 需要一个队列&#xff0c;放进去窗口里的元素&#xff0c;然后随着窗口的移动&#xff0c;队列也一进一出&#xff0c;每次移动之后&#xff0c;队列告诉我们里面的最大值是什么…

Java基础-Java常用类1(包装类 + Object类)

本篇文章主要讲解Java的常用类 包装类Object类 希望能对你的复习以及面试有帮助,有错误请指正 , 感谢. 目录 包装类 Object类 Object 类的常见方法有哪些&#xff1f; 对象比较(hashcode和equals方法) 和 equals() 的区别 hashCode() 是什么 ? 有什么用&#xff1f; 那…

【数据分享】中国首套10米分辨率的建筑高度数据(tif格式)

建筑是城市最重要的构成要素&#xff0c;高密度高层数的建筑是城市区别于乡村的显著特征&#xff01;建筑数据也是我们在各项研究中都会使用到的数据&#xff01;之前我们分享过2020年全国90个城市市域范围的建筑体块数据&#xff08;可查看之前的文章获悉详情&#xff09;。 …

Ubuntu2004设置共享开发环境

我们都知道Linux操作系统是一个多用户的操作系统&#xff0c;由于大家在实际工作中很少接触到多用户环境&#xff0c;特别是在目前电脑硬件成本不断降低的情况下几乎每个从事IT行业的人员都有一台甚至多台个人PC&#xff0c;因此大家对多用户的理解并不深刻。 ChatGPT引燃了人…

【数据结构】堆堆堆堆堆!

目录 前言 树 树的概念 树的相关概念​编辑 树的表示 二叉树的概念 特殊的二叉树 ​ 二叉树的存储结构 堆 堆的建立(本篇以小堆为例&#xff0c;大堆实现方法一样&#xff09; 堆的结构定义 堆的初始化 堆的插入 堆的基础算法——向上调整算法 插入注意事项 堆的判…

Openai+Coursera: ChatGPT Prompt Engineering(三)

想和大家分享一下最近学习的Coursera和openai联合打造ChatGPT Prompt Engineering在线课程.以下是我写的关于该课程的前两篇博客&#xff1a; ChatGPT Prompt Engineering(一) ChatGPT Prompt Engineering(二) 今天我们来学习第三部分内容&#xff1a;推断(Inferring) 推断…

Android:IPC(进程间通信)机制

Android&#xff1a;IPC&#xff08;进程间通信&#xff09;机制 进程和线程 我们先来了解一些关于线程和进程基本的概念。 按照操作系统中的描述&#xff0c;线程是CPU调度的最小单元&#xff0c;同时线程是一种有限的系统资源。而进程一般指一个执行单元&#xff0c;在PC和…

(学习日记)AD学习 #2

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…