們在上網的時候,經常有一些登錄界面進行輸入賬號和密碼,以及我們在網上填一些信息,這些功能的實現都是通過表單來完成的,今天我們就來講講表單。
表單不是指一個標簽,而是指一類標簽。
我們表單里所有的內容都要寫在<form></form>標簽中 form的action屬性是將表單所填的內容發送到想要發送的后臺,而method屬性有兩個值,分別是get和post。get和post的主要區別是get表單所傳的內容會在地址欄里顯示出來,并且有長度限制,而post表單所傳的內容不會在地址欄顯示出來,并且可以視為沒有長度限制。一般系統默認get。當然get和post的細區別還是有的,在這里我就不贅述了。
其中最重要的是<input>標簽,input標簽也是單標簽。input標簽的type屬性值不同,其產生的作用也不同:如:<input type="text">產生的是文本框,一般都是我們登錄時輸入的賬號那樣的文本框。<input type="password">,產生的是密碼框,一般都是我們登錄時輸入密碼的那個框框。<input type="submit">產生的是提交框,一般是我們登錄的那個按鈕。這些標簽都有value屬性,但只有提交框用最合適用,因為文本框和密碼框雖然也會展示出來,但效果卻差強人意,我們一般都用placeholder屬性替代它。
不知大家有沒有在網上做過選擇題,作者是做過的。網頁中的選擇題也是用的input。
input的type屬性值還有radio,是單選框,有幾個選項就寫幾個input,但要注意每一個input里都要寫相同的name屬性和屬性值,這樣的話瀏覽器才會知道這些是同一道題。
既然有單選題那一定也有多選題了,type的checked屬性是多選框,其和單選的用法一樣,也都要注意name一樣的為一道題,還有一個屬性是checked=“checked”,這個可以設定默認選擇的選項。
我們也一定遇到過選擇文字就能勾選而不用非得去點選框的情況,其實input選擇框只有被點擊的時候才能選中,但有的時候太小不容易點擊甚至有的根本沒有顯示出來,這樣的話用戶體驗就會非常的差,所以我們引進了一個標簽:<label></label>標簽,這個標簽可以實現點擊文字就進行選擇的功能,用法就是將input標簽和文字寫在同一個label標簽中,注意每一個選項寫一起。
我們來看一下代碼和結果:
作者已經盡量去說清楚了,歡迎大家批評指教,希望多多關注[送心]
.HTML 介紹
是網頁的后綴,txt 后綴是文本 ,py 后綴是 python ,html 后綴就是網頁的意思。我們如果想創建一個網頁的話,可以直接將文本的后綴改為 html 。HTMLSHI 超文本標記語言,是一種標識性的語言。它包括一系列標記標簽,通過這些標記標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體。
1.html 的介紹
頁面整體分為兩部分:
一部分是head部分,主要是頁面的整體信息和配置,內容不會出現在瀏覽器內部。
一部分是body部分,這部分內容則會在瀏覽器中展示出來
我們使用 pycharm 創建一個 html ,打開后就是下圖模樣。
(1)文檔類型聲明(默認的可以不用設置)
<!DOCTYPE html>
(2)開始標簽和結束標簽
一般的標簽是成對出現的,一般稱第一個標簽是開始標簽,第二個是結束標簽。開始和結束標簽也稱為開放標簽和閉合標簽。
開始標簽:
<html lang="en">
其中的 html 為根元素,是所有元素的基礎。lang 表示語言,en 表示英文。
結束標簽:
</html>
(3)頭部標簽
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
其中 utf-8 表示字符編碼格式,如果沒有寫這個就會發生亂碼。Title 表示文檔的標題。
(4)身體標簽
<body>
</body>
身體標簽是文檔的主題,可視化區域,所有的音頻,視頻,圖片,文字都可在其中搭建,相當于我們打開網頁時所看到內容。
(5)標簽的特點
標簽是由一對尖括號包裹單詞構成的,標簽要使用小寫。 一般的標簽是成對出現的,一般稱第一個標簽是開始標簽,第二個是結束標簽。開始和結束標簽也稱為開放標簽和閉合標簽。
二.標簽
標簽分為塊級標簽和內聯標簽(運行時點擊右上角的谷歌模式的小圓圈就可以)
1.內容的書寫
(1)塊級標簽(p)
兩個 p 中間可隨意書寫內容
<p>故事和酒,淘寶都有</p>
(2)內聯標簽(span)
<span>故事和酒,淘寶都有</span>
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有</span>
</body>
</html>
運行后:
運行后看不出塊級標簽和內聯標簽的區別,所有我們使用檢查。右擊后點擊檢查
在點擊下圖中左上角的方框箭頭,變成藍色說明正在運行,之后就可以查看有關的數據了
無需點擊,只要將箭頭放在文字上就會出現相關內容
上面兩圖可以明顯看出兩句話的寬度不相同。
塊級標簽:在不設置寬度的情況下,寬度始終和瀏覽器寬度保持一致。
內聯標簽:寬度和內容有關
2.設置高度寬度
<p style="width: 500px;height: 50px;">故事和酒,淘寶都有</p>
<span style="width: 500px;height: 50px;">故事和酒,淘寶都有</span>
如圖所示,只有塊級標簽寬高改變了,內聯標簽不改變。由此可得,塊級標簽設置寬高有效,內聯標簽設置寬高無效。
3.多個標簽同時存在
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有</p>
<p>故事和酒,淘寶都有</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有22</span>
<span>故事和酒,淘寶都有22</span>
</body>
多個塊級標簽同時存在的情況下,排列方式從上往下
多個內聯標簽同時存在的情況下,排列方式從左往右
4.是否包含
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有
<span>故事和酒,淘寶都有22</span>
</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有22
<p>故事和酒,淘寶都有</p>
</span>
</body>
由此可知,塊級標簽可以包含內聯標簽,但內聯標簽不可以包含塊級標簽,只可以包含內聯標簽。
5.塊級標簽與內聯標簽相互轉換
(1)塊級轉內聯
<body>
<!--將塊級標簽轉化成內聯標簽-->
<p style="display: inline">故事和酒,淘寶都有</p>
<p style="display: inline">故事和酒,淘寶都有</p>
</body>
(2)內聯轉塊級(display: block)
內聯轉為塊級之后,具有了塊級的性質。
<span style="display: block">故事和酒,淘寶都有222</span>
<span style="display: block">故事和酒,淘寶都有222</span>
(3)內聯塊元素(display: inline-block)
內聯塊元素包含了內聯標簽和塊級標簽的部分特性。
<span style="display: inline-block">故事和酒,淘寶都有333</span>
<span style="display: inline-block;height: 50px">故事和酒,淘寶都有333</span>
(4)段落標簽(p)
<!--段落標簽-->
<p></p>
(5)標題標簽(h)
TMl 的標簽可以分為單個標簽和成對標簽。
單個標簽:html4 規定單個標簽要有一個 / 表示結尾, html5 則不用
<!--單個標簽-->
<meta>
<!--成對標簽 -->
<div></div>
以下是HTMl中常用的一些標簽
div 標簽 主要用來將相關的內容組合到一塊,就像菜市場把各個蔬菜分成不同種類區分擺放是一個道理。
div 是最常見也是比較重要的標簽,網頁布局中經常使用的一類標簽。通常布局被稱為 DIV + CSS 布局
<div>
div 就是一個分類的存儲箱子
</div>
p標簽表示段落, 在網頁文字中應用的比較多
<!--段落和段落間會換行-->
<p>第一段</p>
<p>第二段</p>
h標簽分為六個
標簽 | 語義 |
h1 | 一級標題 |
h2 | 二級標題 |
h3 | 三級標題 |
h4 | 四級標題 |
h5 | 五級標題 |
h6 | 六級標題 |
引用標題標簽后,字體會加粗、字號一會變大
無序標簽是沒有顯示順序的列表,無序列表前面通常會有一個“小點”, 這個小點可以用type屬性控制。其中有三個展示方式(不過這種方式比較固定,不夠靈活和美觀, 已經被CSS的效果代替),如下:
值(type屬性) | 描述 |
disc | 默認值,實心圓 |
circle | 空心圓 |
square | 實心方框 |
舉例:
<!--ul標簽內部只能放置li標簽-->
<!--li標簽內部可以放其他的標簽-->
<ul type=">
<li>無序列表元素1</li> <!--列表項-->
<li>無序列表元素2</li>
</ul>
實心圓
<ul type="disc">
<li>西紅柿</li>
<li>黃瓜</li>
</ul>
空心圓
<ul type="circle">
<li>西紅柿</li>
<li>黃瓜</li>
</ul>
實心方框
<ul type="square">
<li>西紅柿</li>
<li>黃瓜</li>
</ul>
type屬性值 | 意義 |
a | 小寫英文字母編號 |
A | 大寫英文字母編號 |
i | 小寫羅馬數字編號 |
I | 大寫羅馬數字編號 |
1 | 數字編號(默認) |
有序列表, 從2開始
<ol start="2">
<li>元素1</li>
<li>元素2</li>
</ol>
小寫字母表示
<ol type="a">
<li>元素1</li>
<li>元素2</li>
<li>元素3</li>
</ol>
倒敘
<ol reversed>
<li>元素1</li>
<li>元素2</li>
<li>元素3</li>
</ol>
dl標簽表示自定義列表
dt表示數據項,dd表示數據定義, dd是dt標簽的解釋
<dl>
<dt>西紅柿</dt>
<dd>紅、酸</dd>
<dt>黃瓜</dt>
<dd>綠、澀</dd>
</dl>
img 用來插入圖片,包括但不限于以下圖片格式
圖片格式 | 備注 |
.jpg、.jpeg | 通常用于照片,是一種有損壓縮格式 |
.png | 通常用于logo、背景,支持透明和半透明。便攜式網絡圖像 |
.svg | 矢量圖片 |
<!-- src(source)屬性, 圖片地址,可以為相對路徑,也可以為絕對路徑-->
<!-- alt 如果遇到圖片無法加載的情況,網頁上會展示 alt的 值 -->
<!-- width 和 height 表示 寬和高, 如果只設置一個, 那么另外一個就會跟著成比例縮放-->
<img src="./images/images.jpg" alt="星期一" width="120" height="20">
用a標簽來制作超級鏈接
<!-- href 屬性 表示 其他頁面的鏈接,支持相對路徑和絕對路徑,還可以鏈接到其它網站 -->
<!--target 屬性表示 打開其他鏈接的方式-->
<!-- title 屬性表示 鏈接的標題, 當鼠標移動到鏈接上,會展示出來-->
<a href="http://www.baidu.com" target="blank" title="文字標題">百度</a>
<!--也可以用a標簽作為錨點 錨點可以是本頁面的錨點,也可以是其他頁面的錨點-->
<h1 id="title">頭部標題</h1>
... 此處省略一些代碼
<a href="#title">返回標題</a>
<!--下載鏈接,指向 doc, zip, zip等文件格式時,a標簽將成為自動下載鏈接-->
<a href="./download/halou.zip">發郵件</a>
<!-- mailto:前綴的鏈接是郵件鏈接,系統將自動打開email相關軟件-->
<a href="mailto:halouworld@126.com">發郵件</a>
<!-- tel: 前綴鏈接是電話鏈接,系統將自動打開撥號鍵-->
<a href="tel:11111111111">打開撥號鍵盤</a>
audio標簽用來插入音頻標簽
<!--添加 controls 后才會顯示 播放控件-->
<!--常用音頻格式 mp3 和 ogg格式-->
<!--autoplay 自動播放屬性-->
<!--loop 屬性表示循環播放-->
<audio controls src="./video/demo.mp3">
您的瀏覽器不支持 audio標簽,請升級
</audio>
<audio controls src="./video/demo.mp3" autoplay loop>
您的瀏覽器不支持 audio標簽,請升級
</audio>
video 標簽用于插入一段視頻
<!--有的視頻不能播放 ,詳見 https://blog.csdn.net/weixin_34272308/article/details/94614657 -->
<!-- controls 顯示視頻播放控件 -->
<!-- autoplay 自動播放 -->
<!-- loop 循環播放 -->
<!-- 常見的 視頻格式 mp4 ogv webm 等-->
<video controls autoplay loop src="./video/5-4 RDB2.mp4" >
您的瀏覽器不支持 video標簽,請升級
</video>
以前的區塊標簽只有div,現在為了更好的方便搜索引擎抓取網站,因此有了以下語義更加明確的區塊標簽
<section> | 文檔的區域,比div語義上還要大一點 |
<header> | 頁頭 |
<main> | 網頁核心部分 |
<footer> | 頁腳 |
表單用來收集信息并且可以完成和后端的數據傳輸
表單中大致可以分為三種標簽
一些表單的示例
<!--action 表示要提交到后端的網址-->
<!--method 表示表單提交的方式,通常有 get 、 post 、put、delete等-->
<form action="/save" meththo="post"></form>
<!--<form> 標簽中 input 文本框 type="text" 表示文本框-->
<!-- value 表示文本框中的值 -->
<!--planceholder表示提示文字,在沒任何輸入值的情況下,作為提示信息-->
<!--disabled 表示禁用-->
<input type="text" value="123" planceholder="提示文字" disabled>
<!---單選按鈕,name相等,表示選擇了一個,另一個就不能選擇了-->
<!--checked 表示默認被選中-->
<!-- value 屬性表示要提交到后端服務器的值-->
<input type="radio" name="radio_group" checked>
<input type="radio" name="radio_group">
<label>
<input type="radio" name="sex"> 男
</label>
<label>
<input type="radio" name="sex"> 女
</label>
<!--html4 中的標簽 通過for 屬性 和 其他標簽的id屬性進行綁定-->
<input type="radio" name="sex" id="nan">
<label for="nan">男</label>
<input type="radio" name="sex" id="nv">
<label for="nv">女</label>
<!--復選框 type="checkbox" 同一組的的復選框,name值應該相同 ,復選框也有value值, 用于向服務器提交數據-->
<input type="checkbox" name="hobby" value="soccer" > 足球
<input type="checkbox" name="hobby" value="basket" > 籃球
<!--密碼框-->
<input type="password" placeholder="請輸入密碼">
<!-- 下拉菜單 -->
<select>
<option value="alipay">支付寶</option>
<option value="wxpay">微信支付</option>
</select>
<!--多文本框 rows 和 clos 分別用于設置 行數 和 列數-->
<textarea rows="3" cols="5"></textarea>
<!--三種按鈕 submit 提交按鈕 button 普通按鈕 可以簡寫為 <button></button> reset 按鈕 重置按鈕-->
<input type="button" value="普通按鈕">
<input type="reset" value="重置按鈕">
<input type="submit" value="提交表單">
<!--像 email 和 url 等格式,如果點擊提交按鈕,不符合格式,會有提示-->
<form>
日期空間: <input type="date"> <br/>
時間空間: <input type="time"> <br/>
日期時間空間 <input type="datetime-local"> <br/>
文件:<input type="file"> <br/> <br/>
數字控件: <input type="number"> <br/>
拖拽條: <input type="range"> <br/>
搜索框: <input type="search"> <br/>
網址控件: <input type="url"> <br/>
郵箱控件: <input type="email" >
<input type="submit" value="提交">
</form>
<!-- datalist 備選項示例 -->
<input type="text" list="province">
<datalist id="province">
<option value="陜西"></option>
<option value="山西"></option>
<option value="河北"></option>
<option value="山東"></option>
</datalist>
可以用html渲染表格
<!--表格示例-->
<table border="1">
<caption>我是標題</caption>
<tr>
<th>第一列標題</th>
<th>第二列標題</th>
</tr>
<tr>
<td>第一行第一列</td>
<td>第一行第二列</td>
</tr>
<tr>
<td>第二行第一列</td>
<td>第二行第二列</td>
</tr>
</table>
<!--跨列示例-->
<table border="1">
<caption>我是標題</caption>
<tr>
<th>第一列標題</th>
<th>第二列標題</th>
</tr>
<tr>
<td colspan="2">跨兩行</td>
</tr>
<tr>
<td>第二行第一列</td>
<td>第二行第二列</td>
</tr>
</table>
<!--跨行示例-->
<table border="1">
<caption>我是標題</caption>
<tr>
<th>第一列標題</th>
<th>第二列標題</th>
</tr>
<tr>
<td rowspan="2">第一行第一列</td>
<td>第一行第二列</td>
</tr>
<tr>
<td>第二行第二列</td>
</tr>
<tr>
<td>第三行第一列</td>
<td>第三行第二列</td>
</tr>
</table>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。