目錄css
前端之htmlhtml
瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面前端
python中的一個小案例:python
程序代碼: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.send(b"<h1>Hello world!</h1>") conn.close()
實現效果:編程
經過瀏覽器訪問咱們的地址,能夠訪問這樣一個界面瀏覽器
注意:html是標記語言,可是它不是編程語言。它只能夠使用標籤來描述網頁。服務器
一個最基本的html文檔socket
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>css樣式優先級</title> </head> <body> </body> </html>
<!DOCTYPE html>聲明爲HTML5文檔。編程語言
是文檔的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。
定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示。包含了文檔的元(meta)數據。
定義了網頁標題,在瀏覽器標題欄顯示。
之間的文本是可見的網頁主體內容。
*注意:對於中文網頁須要使用 聲明編碼,不然會出現亂碼。有些瀏覽器會設置 GBK 爲默認編碼,則你須要設置爲 。
標籤的語法:
幾個很重要的屬性:
<!--被註釋的內容-->
<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 標籤以前。
<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。
標籤 | 意義 |
---|---|
定義網頁標題 | |
定義內部樣式表 | |
定義JS代碼或引入外部JS文件 | |
引入外部樣式表文件或網站圖標 | |
定義網頁原信息 |
Meta標籤介紹:
meta標籤的組成:meta標籤共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不一樣的屬性又有不一樣的參數值,這些不一樣的參數值就實現了不一樣的網頁功能。
1.http-equiv屬性:至關於http的文件頭做用,它能夠向瀏覽器傳回一些有用的信息,以幫助正確地顯示網頁內容,與之對應的屬性值爲content,content中的內容其實就是各個參數的變量值。
<!--指定文檔的編碼類型(須要知道)--> <meta http-equiv="content-Type" charset=UTF8"> <!--2秒後跳轉到對應的網址,注意引號(瞭解)--> <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com"> <!--告訴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學院">
基本標籤
<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>
div標籤和span標籤
div標籤用來定義一個塊級元素,並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。
span標籤用來定義內聯(行內)元素,並沒有實際的意義。主要經過CSS樣式爲其賦予不一樣的表現。
塊級元素與行內元素的區別:
所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。若是單獨在網頁中插入這兩個元素,不會對頁面產生任何的影響。
這兩個元素是專門爲定義CSS樣式而生的。
注意:
關於標籤嵌套:一般塊級元素能夠包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。
p標籤不能包含塊級標籤,p標籤也不能包含p標籤。
經常使用標籤
超連接標籤
所謂的超連接是指從一個網頁指向一個目標的鏈接關係,這個目標能夠是另外一個網頁,也能夠是相同網頁上的不一樣位置,還能夠是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程序。
<a href="http://www.baidu.com" target="_blank" >百度網址</a>
href
屬性指定目標網頁地址。
target:
_blank表示在新標籤頁中打開目標網頁,_self表示在當前標籤頁中打開目標網頁
列表
無序列表
<ul type="disc"> <li>第一項</li> <li>第二項</li> </ul>
type屬性:
有序列表
<ol type="1" start="2"> <li>第一項</li> <li>第二項</li> </ol>
type屬性:
標題列表
<dl> <dt>標題1</dt> <dd>內容1</dd> <dt>標題2</dt> <dd>內容1</dd> <dd>內容2</dd> </dl>
表格
表格是一個二維數據空間,一個表格由若干行組成,一個行又有若干單元格組成,單元格里能夠包含文字、列表、圖案、表單、數字符號、預置文本和其它的表格等內容。
表格最重要的目的是顯示錶格類數據。表格類數據是指最適合組織爲表格格式(即按行和列組織)的數據。
表格的基本結構:
<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>
屬性:
form表單
功能:
表單用於向服務器傳輸數據,從而實現用戶與Web服務器的交互
表單可以包含input系列標籤,好比文本字段、複選框、單選框、提交按鈕等等。
表單還能夠包含textarea、select、fieldset和 label標籤。
表單屬性
屬性 | 描述 |
---|---|
accept-charset | 規定在被提交表單中使用的字符集(默認:頁面字符集)。 |
action | 規定向何處提交表單的地址(URL)(提交頁面)。 |
autocomplete | 規定瀏覽器應該自動完成表單(默認:開啓)。 |
enctype | 規定被提交數據的編碼(默認:url-encoded)。若是是上傳文件須要將enctype="multipart/form-data" |
method | 規定在提交表單時所用的 HTTP 方法(默認:GET)。 |
name | 規定識別表單的名稱(對於 DOM 使用:document.forms.name)。 |
novalidate | 規定瀏覽器不驗證表單。 |
target | 規定 action 屬性中地址的目標(默認:_self)。 |
表單元素
基本概念:
HTML表單是HTML元素中較爲複雜的部分,表單每每和腳本、動態頁面、數據處理等功能相結合,所以它是製做動態網站很重要的內容。
表單通常用來收集用戶的輸入信息
表單工做原理:
訪問者在瀏覽有表單的網頁時,可填寫必需的信息,而後按某個按鈕提交。這些信息經過Internet傳送到服務器上。
服務器上專門的程序對這些數據進行處理,若是有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,服務器反饋一個輸入完成的信息。
input標籤
元素會根據不一樣的 type 屬性,變化爲多種形態。
type屬性值 | 表現形式 | 對應代碼 |
---|---|---|
text | 單行輸入文本 | |
password | 密碼輸入框 | |
date | 日期輸入框 | |
checkbox | 複選框 | |
radio | 單選框 | |
submit | 提交按鈕 | |
reset | 重置按鈕 | |
button | 普通按鈕 | |
hidden | 隱藏輸入框 | |
file | 文本選擇框 |
屬性說明:
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>
屬性說明:
label標籤
定義:
<form action=""> <label for="username">用戶名</label> <input type="text" id="username" name="username"> </form>
textarea多行文本
<textarea name="memo" id="memo" cols="30" rows="10"> 默認內容 </textarea>
屬性說明:
塊級元素:塊級大多爲結構性標記
<h1>...</h1> 標題一級 <h2>...</h2> 標題二級 <h3>...</h3> 標題三級 <h4>...</h4> 標題四級 <h5>...</h5> 標題五級 <h6>...</h6> 標題六級 <hr> 水平分割線 <p>...</p> 段落 <ul>...</ul> 無序列表 <ol>...</ol> 有序列表 <dl>...</dl> 定義列表 <table>...</table> 表格 <form>...</form> 表單 <div>...</div>
行內元素:行內大多爲描述性標記
<span>...</span> <a>...</a> 連接 <br> 換行 <b>...</b> 加粗 <strong>...</strong> 加粗 <img > 圖片 <i>...</i> 斜體 <em>...</em> 斜體 <del>...</del> 刪除線 <u>...</u> 下劃線 <input>...</input> 文本框 <textarea>...</textarea> 多行文本 <select>...</select> 下拉列表
塊級元素
1.老是重新的一行開始
2.高度、寬度都是可控的
3.寬度沒有設置時,默認爲100%
4.塊級元素中能夠包含塊級元素和行內元素
行內元素
1.和其餘元素都在一行
2.高度、寬度以及內邊距都是不可控的
3.寬高就是內容的高度,不能夠改變
4.行內元素只能行內元素,不能包含塊級元素