把瀏覽器當成一個客戶端來實現server端與客戶端的交互html
import socket server = socket.socket() server.bind(('127.0.0.1',8080)) server.listen(5) conn, addr = server.accept() msg = conn.recv(1024) print(msg) # conn.send(b'HTTP/1.1 200 OK\r\n\r\n') #若是想把瀏覽器做爲客戶端來訪問該服務端,服務端與瀏覽器交互須要知足HTTP協議的規範,HTTP協議的詳細內容會在Django基礎講解。 conn.send(b'OK') conn.send(b'<h1>OK</h1>') # 返回瀏覽器一個用<h1></h1>包裝過的OK,在瀏覽器段咱們會發現OK變得又大又粗了。 conn.close() server.close()
最基本的文本結構:前端
<!--doctype html 爲了告訴瀏覽器個人文件類型,html默認是意思是html5規則,這裏後期的學習不用改,必定記住了--> <!DOCTYPE html> <!--告訴瀏覽器我是英文,告訴瀏覽器是哪一種語言 "zh-cn" 是中文--> <html lang="en"> <head> <!--網站配置--> <meta charset="UTF-8"> <!--網站標題--> <title>Title</title> </head> <!--body是瀏覽器要顯示的內容--> <body> 哈哈哈 <strong>哈哈哈</strong> </body> </html>
標籤 | 意義 |
<title></title> | 網頁標題 |
<meta/> | 網頁基本信息 |
<link/> | 引入外部樣式 |
<script></script> | 定義JS代碼或者引入外部JS文件 |
<style></style> | 定義內部樣式表 |
<meta>html5
meta簡介:編程
meta的兩個屬性:瀏覽器
meta共有兩個屬性,分別是:http-equiv屬性和name屬性。不一樣的屬性擁有不一樣的參數值,這些不一樣的參數值實現了不一樣的頁面功能。服務器
<!--2秒後跳轉到對應的網址,注意引號--> <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com"> <!--指定文檔的編碼類型--> <meta http-equiv="content-Type" charset=UTF8"> <!--告訴IE以最高級模式渲染文檔--> <meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉"> <meta name="description" content="老男孩教育Python學院">
基本標籤:數據結構
字體標籤 | <font>不同意使用,html5中已經廢棄此標籤</font>app <u>若是文本不是超連接,就不要對其使用下劃線</u>socket <i>顯示斜體文本效果</i>編程語言 <b>粗體文本</b>根據 HTML5 規範,在沒有其餘合適標籤更合適時,才應該把 <b> 標籤做爲最後的選項 <strong>把文本定義爲語氣更強的強調的內容</strong> <s>刪除文本</s>在HTML5中再也不支持,用<del>代替了 上標2<sup>1</sup> 下標2<sub>1</sub> |
排版標籤 | <h1>~<h6><p><div><span><br><hr> |
超連接標籤 | <a> |
圖片標籤 | <img> |
特殊字符:
  | 空格 |
< | < |
> | > |
&qout | " |
&apos | ' |
這些是最經常使用的。
須要瞭解的有:
&
:符號&
©
:版權©
™
:商標™
其餘字符參照表:http://tool.chinaz.com/Tools/HtmlChar.aspx
a標籤的用法
超連接:
返回頂部和返回底部:
鏈接到指定文件:
img標籤的用法
p標籤(段落標籤)的用法
p標籤自帶行間距
div標籤(段落標籤)的用法
沒有行間距,只是單純的換行
span標籤的用法
沒有行間距,沒有換行,只是單純的空格
table標籤的用法
表格標籤也是很是經常使用的標籤。
生活中的一個表格(table)是由 行(tr) 和(td) 列組成的。
可是在前端中一個表格(table)是由行(tr)組成,行(tr)是由單元格(td)組成。
這個時候咱們發現,這裏的表格沒有邊框呀。別急,邊框在表格的屬性中能夠設置。
border-style:dotted solid double dashed; 點、線、雙線、虛線
帶一些屬性的代碼及效果圖:
咱們剛纔說過前端中的表格(table)僅且只有行(tr)組成。
表格的行也具備本身的屬性:
咱們剛纔說過前段中行(tr)中是單元格(td),沒有列的概念。
單元格也具備本身的屬性:
excel中的合併單元格就是把多個單元格合併成一個,在前段中合併單元格也是這樣的。
單元格合併能夠從一下兩個方向出發(單元格的屬性):
代碼及效果展現:
加粗版的單元格用th替代掉td便可(加粗的是單元格內的內容),其餘屬性與td同樣,不需修改,且單元格內的內容會居中顯示。
caption:表格的標題,與tr同級。
caption代碼示例及效果:
thead、tbody、tfoot
若是以這三個標籤命名,在頁面中渲染會先渲染thead,再渲染tbody,再渲染tfoot。
若是有重複的thead、tbody、tfoot的話,則按會按照先頭再身子再腳的狀況顯示,多個頭則按前後順序顯示頭。
當表格內容很是大、很是多的時候,用thead、tbody、tfoot這種方式排版,數據就能夠一邊獲取一邊渲染,若是不,則等數據所有加載完再顯示整個表格。
代碼及效果演示:
表格標籤也是很是經常使用的標籤。
生活中的一個表格(table)是由 行(tr) 和(td) 列組成的。
可是在前端中一個表格(table)是由行(tr)組成,行(tr)是由單元格(td)組成。
這個時候咱們發現,這裏的表格沒有邊框呀。別急,邊框在表格的屬性中能夠設置。
border-style:dotted solid double dashed; 點、線、雙線、虛線
帶一些屬性的代碼及效果圖:
咱們剛纔說過前端中的表格(table)僅且只有行(tr)組成。
表格的行也具備本身的屬性:
咱們剛纔說過前段中行(tr)中是單元格(td),沒有列的概念。
單元格也具備本身的屬性:
excel中的合併單元格就是把多個單元格合併成一個,在前段中合併單元格也是這樣的。
單元格合併能夠從一下兩個方向出發(單元格的屬性):
代碼及效果展現:
加粗版的單元格用th替代掉td便可(加粗的是單元格內的內容),其餘屬性與td同樣,不需修改,且單元格內的內容會居中顯示。
caption:表格的標題,與tr同級。
caption代碼示例及效果:
thead、tbody、tfoot
若是以這三個標籤命名,在頁面中渲染會先渲染thead,再渲染tbody,再渲染tfoot。
若是有重複的thead、tbody、tfoot的話,則按會按照先頭再身子再腳的狀況顯示,多個頭則按前後順序顯示頭。
當表格內容很是大、很是多的時候,用thead、tbody、tfoot這種方式排版,數據就能夠一邊獲取一邊渲染,若是不,則等數據所有加載完再顯示整個表格。
代碼及效果演示:
列表(ul,ol)標籤的用法
ul無序列表
ul定義一個無序列表,經過type去改變無序列表的那個黑點,disc是實心黑點,默認是如此,square是方塊,circle是空心圓.
li是列表中的每個元素
ol有序列表
ol定義一個有序列表,經過type去定義一個有序序號,能夠是1,A,a,I,i,有序列表中start屬性規定從哪一個序列號開始
li是列表中的一個元素
dl二級菜單
from表單的用法:
功能:
表單用於向服務器傳輸數據,從而實現用戶與Web服務器的交互
表單可以包含input系列標籤,好比文本字段、複選框、單選框、提交按鈕等等。
表單還能夠包含textarea、select、fieldset和 label標籤。
表單屬性
屬性 | 描述 |
---|---|
accept-charset | 規定在被提交表單中使用的字符集(默認:頁面字符集)。 |
action | 規定向何處提交表單的地址(URL)(提交頁面)。 |
autocomplete | 規定瀏覽器應該自動完成表單(默認:開啓)。 |
enctype | 規定被提交數據的編碼(默認:url-encoded)。 |
method | 規定在提交表單時所用的 HTTP 方法(默認:GET)。 |
name | 規定識別表單的名稱(對於 DOM 使用:document.forms.name)。 |
novalidate | 規定瀏覽器不驗證表單。 |
target | 規定 action 屬性中地址的目標(默認:_self)。 |
點擊提交按鈕,input中type=submit的那個按鈕,而後就會將form表單中全部用戶輸入的內容或者選擇的內容({name屬性:值,})都發給服務端(以咱們本身寫的那個socket舉例,打印一下接收的內容),可是全部的輸入標籤必須有一個叫作name的屬性。