Python學習(十九) —— 前端基礎之HTML

轉載自:http://www.cnblogs.com/liwenzhou/p/7988087.htmlcss

1、HTML介紹

  1.Web服務本質

import socket

sk = socket.socket()

sk.bind(("127.0.0.1", 8080))
sk.listen(5)

while True:
    conn, addr = sk.accept()
    data = conn.recv(8096)
    conn.send(b"HTTP/1.1 200 OK\r\n\r\n")
    conn.secd(b"<h1>Hello world!</h1>")
    conn.close()

瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面html

客戶端和服務端之間要有一個協議(約定)html5

同理:瀏覽器和server端也要有一個約定,這個約定叫HTTP協議.python

HTTP特色:(瞭解)web

1. 簡單 就一來一回
2. 短鏈接(一來(request)一回(response)就結束了)
3. 無狀態(每一次鏈接對於服務端來講都是新的)編程

#瀏覽器的輸入URL,展現一個頁面這個過程:

#jd.com --> https://www.jd.com/ 
#域名解析 --> 翻譯成IP 端口是默認的80
#到達服務端
#服務端返回字符串
#HTML:

#python文件放到.py文件裏
#HTML文件放到.html文件裏了

#HTML標籤:

#兩種格式:
    <標籤名 k1=v1 k2=v2>內容</標籤名>
    <標籤名 k1=v1 k2=v2/>
    
    
#經常使用標籤:
    h1~h6標籤
    a標籤 超連接
    img 圖片
    
#HTML註釋:
    很是很是很是重要
    
    <!-- 註釋的內容 -->
    
    <!-- 圖片開始 -->
    <img src="" />
    <!-- 圖片結束 -->
#HTML
#     head標籤裏面的
#         -meta
#         -title
#         -link
#         icon
#         -link
#         引用CSS文件
#         -style
#         引用JS文件
# 
#     body標籤(咱們在瀏覽器裏面看到的)
#         -塊級標籤(獨佔一行) h1~h6 hr p div
#         -內聯標籤(長度根據內容決定) a b img u s i span
# 
#         -特殊符號
#             -DIV和span沒有特色(專爲CSS調樣式準備的兩個標籤)
# 
#         -嵌套規則
#             -塊級標籤能夠嵌套塊級標籤和內聯標籤
#             !!!P標籤不能嵌套div標籤
#             -內聯標籤通常不能嵌套塊級標籤
# 
#         -img標籤
#             -width
#             -height
#             -src
#             -alt
#             -title
# 
#         -a標籤
#             -target
#             -href
#                 -https: //
#                 -相對地址(Django)
#                 -網頁內部跳(錨點)
# 
# HTML --> 裸體的人
# CSS --> 穿上好看的衣服
# JS --> 讓人動起來

 

  2.HTML是什麼?

  • 超文本標記語言(Hypertext Markup Language, HTML)是一種用於建立網頁的標記語言。
  • 本質上是瀏覽器可識別的規則,咱們按照規則寫網頁,瀏覽器根據規則渲染咱們的網頁。對於不一樣的瀏覽器,對同一個標籤可能會有不一樣的解釋。(兼容性問題)
  • 網頁文件的擴展名:.html或.htm

  3.HTML不是什麼?

HTML是一種標記語言(markup language),它不是一種編程語言。瀏覽器

HTML使用標籤來描述網頁。服務器

  4.HTML文檔結構

最基本的HTML文檔:app

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>css樣式優先級</title>
</head>
<body>

</body>
</html>

1)<!DOCTYPE html>聲名爲html5文檔。socket

2)<html>、</html>是文檔的開始標記和結束標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。

3)<head>、</head>定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示,包含了文檔的元(meta)數據。

4)<tile>、</tile>定義了網頁標題,在瀏覽器標題欄顯示。

5)<body>、</body>之間的文本是可見的網頁主體內容。

注意:對於中文網頁須要使用<meta charset='utf-8'>聲名編碼, 不然會出現亂碼。有些瀏覽器會設置gbk編碼,則你須要設置<meta charset='gbk'>。

   5.HTML標籤格式

  • HTML標籤是由尖括號包圍的關鍵字,如<html>, <div>等
  • HTML標籤一般是成對出現的,好比:<div>和</div>,第一個標籤是開始,第二個標籤是結束。結束標籤會有斜線。
  • 也有一部分標籤是單獨呈現的,好比:<br/>、<hr/>、<img src="1.jpg" />等。
  • 標籤裏面能夠有若干屬性,也能夠不帶屬性。

標籤的語法:

  • <標籤名 屬性1=「屬性值1」 屬性2=「屬性值2」……>內容部分</標籤名>
  • <標籤名 屬性1=「屬性值1」 屬性2=「屬性值2」…… />

幾個很重要的屬性:

  • id:定義標籤的惟一ID,HTML文檔樹中惟一
  • class:爲html元素定義一個或多個類名(classname)(CSS樣式類名)
  • style:規定元素的行內樣式(CSS樣式)

  6.HTML註釋

<!-- 註釋內容 -->

註釋是代碼之母。--摘自哪吒語錄

  7.<!DOCTYPE>標籤

<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標籤以前。

<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。

 

2、HTML經常使用標籤

  1.head內經常使用標籤

Meta標籤

  • <meta>元素可提供有關頁面的原信息(mata-information),針對搜索引擎和更新頻度的描述和關鍵詞。
  • <meta>標籤位於文檔的頭部,不包含任何內容。
  • <meta>提供的信息是用戶不可見的。

meta標籤的組成:meta標籤共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不一樣的屬性又有不一樣的參數值,這些不一樣的參數值就實現了不一樣的網頁功能。 

1.http-equiv屬性:至關於http的文件頭做用,它能夠向瀏覽器傳回一些有用的信息,以幫助正確地顯示網頁內容,與之對應的屬性值爲content,content中的內容其實就是各個參數的變量值。

<!--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">

2.name屬性: 主要用於描述網頁,與之對應的屬性值爲content,content中的內容主要是便於搜索引擎機器人查找信息和分類信息用的。

<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉">

<meta name="description" content="老男孩教育Python學院">

非Meta標籤

<!--標題-->
<title>oldboy</title>
<!--icon圖標-->
<link rel="icon" href="favicon.ico">
<!--樣式文件-->
<link rel="stylesheet" href="mystyle.css">
<!--JS文件-->
<script src="myscript.js"></script>

   2.body內經常使用標籤

基本標籤(塊級標籤和內聯標籤)

<b>加粗</b>
<i>斜體</i>
<u>下劃線</u>
<s>刪除</s>

<p>段落標籤</p>

<h1>標題1</h1>
<h2>標題2</h2>
<h3>標題3</h3>
<h4>標題4</h4>
<h5>標題5</h5>
<h6>標題6</h6>

<!--換行-->
<br>

<!--水平線--><hr>

   3.特殊字符

內容 對應代碼
空格 &nbsp;
> &gt;
< &lt;
& &amp;
¥ &yen;
版權 &copy;
註冊 &reg;

  4.div標籤和span標籤

div標籤用來定義一個塊級元素,並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。
span標籤用來定義內聯行(行內元素),並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。

塊級元素與行內元素的區別:
所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。若是單獨在網頁中插入這兩個元素,不會對頁面產生任何的影響。
這兩個元素是專門爲定義CSS樣式而生的。

注意:

關於標籤嵌套:一般塊級元素能夠包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。

p標籤不能包含塊級標籤。

  5.img標籤

<img src="圖片的路徑" alt="圖片未加載成功時的提示" title="鼠標懸浮時提示信息" width="寬" height="高(寬高兩個屬性只用一個會自動等比縮放)">

  6.a標籤

超連接標籤

所謂的超連接是指從一個網頁指向一個目標的鏈接關係,這個目標能夠是另外一個網頁,也能夠是相同網頁上的不一樣位置,還能夠是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程序。

什麼是URL?
URL是統一資源定位器(Uniform Resource Locator)的縮寫,也被稱爲網頁地址,是因特網上標準的資源的地址。
URL舉例
http://www.sohu.com/stu/intro.html
http://222.172.123.33/stu/intro.html

URL地址由4部分組成
第1部分:爲協議:http://、ftp://等 
第2部分:爲站點地址:能夠是域名或IP地址
第3部分:爲頁面在站點中的目錄:stu
第4部分:爲頁面名稱,例如 index.html
各部分之間用「/」符號隔開。
url
<a href="http://www.oldboyedu.com" target="_blank" >點我</a>

href屬性指定目標網頁地址。該地址能夠有幾種類型:

  • 絕對URL - 指向另外一個站點(好比 href="http://www.jd.com)
  • 相對URL - 指當前站點中確切的路徑(href="index.htm")
  • 錨URL - 指向頁面中的錨(href="#top")

target:

  • _blank表示在新標籤頁中打開目標網頁
  • _self表示在當前標籤頁中打開目標網頁

  7.列表

  1)無序列表

<ul type="disc">
  <li>第一項</li>
  <li>第二項</li>
</ul>

type屬性:

  • disc(實心圓點,默認值)
  • circle(空心圓圈)
  • square(實心方塊)
  • none(無樣式)

  2)有序列表

<ol type="1" start="2">
  <li>第一項</li>
  <li>第二項</li>
</ol>

type屬性:

  • 1 數字列表,默認值
  • A 大寫字母
  • a 小寫字母
  • Ⅰ大寫羅馬
  • ⅰ小寫羅馬

  3)列表標題

<dl>
  <dt>標題1</dt>
  <dd>內容1</dd>
  <dt>標題2</dt>
  <dd>內容1</dd>
  <dd>內容2</dd>
</dl>

  8.表格

表格是一個二維數據空間,一個表格由若干行組成,一個行又有若干單元格組成,單元格里能夠包含文字、列表、圖案、表單、數字符號、預置文本和其它的表格等內容。
表格最重要的目的是顯示錶格類數據。表格類數據是指最適合組織爲表格格式(即按行和列組織)的數據。
表格的基本結構:

<table>
  <thead>
  <tr>
    <th>序號</th>
    <th>姓名</th>
    <th>愛好</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>1</td>
    <td>Egon</td>
    <td>槓娘</td>
  </tr>
  <tr>
    <td>2</td>
    <td>Yuan</td>
    <td>日天</td>
  </tr>
  </tbody>
</table>

 屬性:

  • border: 表格邊框.
  • cellpadding: 內邊距
  • cellspacing: 外邊距.
  • width: 像素 百分比.(最好經過css來設置長寬)
  • rowspan: 單元格豎跨多少行
  • colspan: 單元格橫跨多少列(即合併單元格)

   9.表單form

功能:

表單用於向服務器傳輸數據,從而實現用戶與Web服務器的交互

表單可以包含input系列標籤,好比文本字段、複選框、單選框、提交按鈕等等。

表單還能夠包含textarea、select、fieldset和 label標籤。

表單屬性

屬性 含義
action URL 指定一個表單處理目標URL,表單數據將被提交到該URL地址的處理程序。若是該屬性值爲空,則提交到文檔自身。
method get或post 將表單數據提交到http服務器的方法,默認爲get
enctype application/x-www-form-urlencoded 指定表單數據的編碼類型,此屬性只有在method屬性設置爲post時纔有效。默認值爲application/x-www-form-urlencode對全部字符進行編碼。若是表單包含用於文件上傳的控件(input type="file"),那麼這個屬性值必須設置爲multipart/form-data,不對字符進行編碼。


表單元素
 

基本概念:
HTML表單是HTML元素中較爲複雜的部分,表單每每和腳本、動態頁面、數據處理等功能相結合,所以它是製做動態網站很重要的內容。
表單通常用來收集用戶的輸入信息
表單工做原理:
訪問者在瀏覽有表單的網頁時,可填寫必需的信息,而後按某個按鈕提交。這些信息經過Internet傳送到服務器上。 
服務器上專門的程序對這些數據進行處理,若是有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,服務器反饋一個輸入完成的信息

// 清除表單歷史記錄用autocomplete="off"

<form autocomplete="off"></form>

 

 

  10.input系列

type屬性值 表現形式 對應代碼
text 單行輸入文本 <input type=text" />
password 密碼輸入框 <input type="password"  />
checkbox 複選框 <input type="checkbox" checked="checked"  />
radio 單選框 <input type="radio"  />
submit 提交按鈕 <input type="submit" value="提交" />
reset 重置按鈕 <input type="reset" value="重置"  />
button 普通按鈕 <input type="button" value="普通按鈕"  />
hidden 隱藏按鈕 <input type="hidden" value="隱藏按鈕"  />
file 文本選擇框 <input type="file"  />

 

類型(type)說明:

  • text:文本輸入框(placeholder="設置提示語",value="設置默認值",readonly設置只讀,name="設置名字")
  • password:密碼輸入框
  • radio:單選框
  • checkbox:多選框
  • submit:提交按鈕
  • button:可點擊的按鈕,沒有任何行爲,通常配合JS使用
  • hidden:對用戶不可見,一般用於修改某條數據時,記錄數據的id值
  • file:提交文件  form表單須要加上enctype="multipart/form-data",method="post"
  • reset:定義重置按鈕。重置按鈕會清除表單中的全部數據。
  • image:定義圖像形式的提交按鈕。

屬性說明:

  • name:表單提交時的「鍵」,注意和id的區別
  • value:表單提交時對應項的值
    • type="button", "reset", "submit"時,爲按鈕上顯示的文本年內容
    • type="text","password","hidden"時,爲輸入框的初始值
    • type="checkbox", "radio", "file",爲輸入相關聯的值
  • checked:radio和checkbox默認被選中的項
  • readonly:text和password設置只讀
  • disabled:全部input均適用

  11.select標籤

<form action="" method="post">
  <select name="city" id="city">
    <option value="1">北京</option>
    <option selected="selected" value="2">上海</option>
    <option value="3">廣州</option>
    <option value="4">深圳</option>
  </select>
</form>

屬性說明:

  • multiple:布爾屬性,設置後爲多選,不然默認單選
  • disabled:禁用
  • selected:默認選中該項
  • value:定義提交時的選項值

  12.label標籤

定義:<label> 標籤爲 input 元素定義標註(標記)。
說明:

  1)label 元素不會向用戶呈現任何特殊效果。

  2)<label> 標籤的 for 屬性值應當與相關元素的 id 屬性值相同。

<form action="">
  <label for="username">用戶名</label>
  <input type="text" id="username" name="username">
</form>

  13.textarea多行文本

<textarea name="memo" id="memo" cols="30" rows="10">
  默認內容
</textarea>

屬性說明:

  • name:名稱
  • rows:行數
  • cols:列數
  • disabled:禁用
相關文章
相關標籤/搜索