前端管中窺豹之HTML篇

寫在前面——前端要學什麼

  • HTML 內容(標籤)
  • CSS 外觀(選擇器,屬性)
  • JavaScript 動作(基礎語法,BOM&DOM)

一、什麼是前端

任何直接能夠跟用戶打交道的交互界面都可以稱之爲前端。

我們之前有聊到軟件開發架構:C/S架構和B/S架構。今天主要嘮嘮B/S架構中B-Browser(瀏覽器)。

1.1瀏覽器輸入網址發生的事

  1. 輸入網址(URL)
    URL是統一資源定位器(Uniform Resource Locator)的縮寫,也被稱爲網頁地址,是因特網上標準的資源的地址。
  2. 朝網頁服務器發送請求
  3. 服務器接收請求並查詢瀏覽器想要的數據返回給瀏覽器
  4. 瀏覽器拿到數據展示頁面

1.2Python簡易服務器端

from socket import *


HOST = '127.0.0.1'
PORT = 8080
BUFSIZE = 1024
ADDR = (HOST,PORT)

server = socket(AF_INET,SOCK_STREAM)  # 括號內如果不填,就默認是這兩個參數
server.bind(ADDR)
server.listen(5)

while True:
    conn,addr = server.accept()
    while True:
        try:
            data = conn.recv(BUFSIZE)
            conn.send(b'HTTP/1.1 200 OK\r\n\r\n')  # HTTP協議 相互交流格式必須統一
            # conn.send(b'Hello World!')  # 瀏覽器連接時發送消息Hello World
            with open('F:\PythonMaze\web front-end\Day48\my_first_html_file.html','rb')as f:
                for line in f:
                    conn.send(line)
            conn.close()
        except BaseException as e:
            print(e)
            break

1.3HTTP協議:超文本傳輸協議

客戶端服務端在數據交互的時候都必須遵循這套協議,文件的後綴是給人看的,因爲文件的傳輸都是二進制。

二、HTML

超文本標記語言,不是編程語言

2.1 文檔結構

<html>
    <head>
        <!--用戶看不到,主要給瀏覽器和搜索引擎看,單行註釋-->
    </head>
    <body>
        <!--用戶能夠看見
			的內容都在這,多行註釋-->
    </body>

2.2 html打開方式

方式一:找到文件選擇瀏覽器打開

方式二:pycharm自動打開

2.3 標籤

2.3.1 head內標籤

<title>頁面標題</title>
<style>層疊樣式</style>
<script>JavaScript代碼</script>
<link 引入css文件 文件名裏的%是空格>
<meta 定義網頁原信息>
	keyword:關鍵詞 提高被搜索的優先度
	description:描述網頁

2.3.2 body內標籤

(1)基本標籤

<h1>
    標題標籤,從1到6,字體越來越小
</h1>
<p>
    段落標籤
</p>
<s>棄用符號</s>
<u>下劃線</u>
<i>斜體</i>
<b>加粗</b>
<br> 換行
<hr> 分割線

(2)特殊符號

&lt;	小於號
&gt;	大於號
&yen;	人民幣符號
&copy;	版權
&reg;	商標
&nbsp;	空格
&amp;	&符號

(3)常用標籤

<div>
    頁面佈局
</div>

<span>頁面佈局</span>

<a href="http://www.google.com" target="_self">message</a> <!--_self是本標籤跳轉,_blank新開一個標籤-->
<a href ="" id = 'a1'>Top</a>
<a href ="#a1">Bottom</a> <!-- 錨點功能,跳轉到錨點處-->
所有的HTML標籤都應該有一個id屬性,用來區分,爲後續的DOM操作提供基礎,同一份HTML的id不能重複,不寫id屬性也是可以的

<img src ='圖片地址' alt='圖片加載失敗顯示的信息' title='鼠標懸停顯示的信息' widtn ='寬度更改長度按比例一起改動' >

(4)列表標籤

<ul type='disc(default)/circle/square/none'>
    <li>i am disorder</li>
</ul>

<ol type='序號樣式'>
    <li>i am order</li>
</ol>

<dl>
    <dt>title 1</dt>
    <dd>content 1</dd>
    <dt>title 2</dt>
    <dd>content 2</dd>
</dl>

(5)表格標籤

<table>
    <thead> <!--表格頭-->
    	<tr> <!--一行-->
            <th>name</th>
            <th>age</th>
            <th>body</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>moon</td>
            <td>18</td>
            <td>basketball</td> <!---->
        </tr>
        <tr>
            <td>hysen</td>
            <td>25</td>
            <td>code</td>
        </tr>
	</tbody>
</table>
border調整列表的邊框
cellspacing 調單元格與外邊框之間的距離
cellpadding	調單元格
rowspan = 佔行數 垂直方向合併
colspan = 佔列數 水平方向合併

2.3.3 標籤分類

第一種:

雙標籤:有頭有尾

自閉合標籤

第二種:

塊級標籤
  1. 獨佔一行
  2. 能夠嵌套塊級標籤和行內標籤,但p標籤除外
  3. 能設置長寬
行內標籤:
  1. 自身內容有多大佔多大
  2. 不能設置長寬

2.4 form表單:前後端數據交互

功能:獲取用戶輸入(手動輸入/選擇/默認值),並將獲取到的用戶信息發送到後端

<form action=''>
    <p>username : <input type='text'></p>
    <p>password : <input type='password'></p>
    <p>birthday : <input type='date'></p>
    <p>gender : 
    	<input type='radio' name='gender'> :male
    	<input type='radio' name='gender' checked = 'checked'> :female <!-- 名字和屬性相同可只寫一個-->
    </p>
    <p>
        hobbies:
        <input type='checkbox' checked><input type='checkbox' checked><input type='checkbox' checked>rap
        <input type='checkbox' checked>籃球
    </p>
    <p>
        province單選:<!--province默認單選:-->
        <select name="province" id="">
        	<option value='beijing'>北京</option>
        	<option value="shanghai">上海</option>
            <option value="shenzhen">深圳</option>
        </select>
    </p>
    <p>province多選:
        <select name="" id="" multiple>
            <option value="">北京</option>
            <option value="">上海</option>
            <option value="">深圳</option>
        </select>
    </p>
    <p>province下拉菜單中分組:
        <select name="" id="">
            <optgroup label="北京">
                <option value="">朝陽區</option>
                <option value="">海淀區</option>
                <option value="">昌平區</option>
            </optgroup>
            <optgroup label="上海">
                <option value="">浦東新區</option>
                <option value="">靜安區</option>
                <option value="">徐彙區</option>
            </optgroup>
            <optgroup label="深圳">
                <option value="">南山區</option>
                <option value="">寶安區</option>
                <option value="">福田區</option>
            </optgroup>
        </select>
    <p>info:
        <textarea name="info" id="" cols="30" rows="10"></textarea>
    </p>
    <p>file:
        <input type="file" name="file">
    </p>
    <input type="submit" value="註冊">
    <input type="button" value="普通按鈕">
    <input type="reset" value="重置">
    <button>button按鈕</button>
</form>

form表單

  功能:獲取用戶輸入(手動輸入/選擇/默認值),並將獲取到的用戶信息發送給後端。
  form表單中只有input的type類型爲submit纔會觸發提交信息的動作。
  如果不想通過input標籤來觸發提交動作 那麼可以直接寫一個button按鈕。

    input

通過控制type的類型從而實現不同的獲取用戶輸入的標籤樣式

  • text 普通文本
  • password 密文
  • date 日曆
  • radio 單選框
  • checkbox 多選框
  • file 獲取文件
  • submit 觸發提交數據的行爲
  • button 普通的按鈕
  • reset 重置form表單內容

    select

  • 選擇框 默認是單選的 可以通過multiple參數將單選變爲多選
  • 一個option就是一個選項

    textarea

  • 獲取用戶大段文本值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章