1. 程式人生 > >web前端之html

web前端之html

html

一、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介紹

1、特點
(1)超文本標記語言(HypertextMarkupLanguage, HTML)是一種用於創建網頁的標記語言。
(2)本質上是瀏覽器可識別的規則,我們按照規則寫網頁,瀏覽器根據規則渲染我們的網頁。對於不同的瀏覽器,對同一個標簽可能會有不同的解釋。(兼容性問題)
(3)網頁文件的擴展名:.html或.htm

(4)HTML是一種標記語言(markuplanguage),它不是一種編程語言。
(5)HTML使用標簽來描述網頁。

2、html結構

<!DOCTYPE html>             <!--<!DOCTYPE html>聲明為HTML5文檔。-->
<html>                 <!--<html>、</html>是文檔的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。-->
<head>                   <!--<head>、</head>定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示。包含了文檔的元(meta)數據。-->
  <meta charset="UTF-8">         <!--聲明編碼
  <title>html格式</title>         <!--<title>、</title>定義了網頁標題,在瀏覽器標題欄顯示。-->
</head>
<body>                    <!--<body>、</body>之間的文本是可見的網頁主體內容-->
</body>
</html>


3、html標簽

(1)標簽的語法:

<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”……>內容部分</標簽名>

<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”…… />

(2)幾個很重要的屬性:

id:定義標簽的唯一ID,HTML文檔樹中唯一

class:為html元素定義一個或多個類名(classname)(CSS樣式類名)

style:規定元素的行內樣式(CSS樣式)


三、html常用標簽

1、head內常用標簽

<title></title> #定義網頁標題

<style></style> #定義內部樣式表

<script></script> #定義JS代碼或引入外部JS文件

<link/> #引入外部樣式表文件

<meta/> #定義網頁原信息


2、Meta標簽

(1)Meta標簽介紹:

<meta>元素可提供有關頁面的原信息(mata-information),針對搜索引擎和更新頻度的描述和關鍵詞。

<meta>標簽位於文檔的頭部,不包含任何內容。

<meta>提供的信息是用戶不可見的。


(2)meta標簽的組成

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

<!--2秒後跳轉到對應的網址,註意引號-->

<meta http-equiv="refresh" content="2;URL=https://www.baidu.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網絡學院">


四、body內常用標簽

1、基本標簽

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

2、特殊字符

內容 對應代碼

空格 &nbsp;

> &gt;

< &lt;

& &amp;

¥ &yen;

版權 &copy;

註冊 &reg;


3、div標簽和span標簽


div標簽用來定義一個塊級元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。

span標簽用來定義內聯(行內)元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。


塊級元素與行內元素的區別:

所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。如果單獨在網頁中插入這兩個元素,不會對頁面產生任何的影響。

這兩個元素是專門為定義CSS樣式而生的。


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


4、img標簽


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


5、a標簽(超鏈接標簽)

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


<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表示在當前標簽頁中打開目標網頁


6、列表


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>


7、表格


表格是一個二維數據空間,一個表格由若幹行組成,一個行又有若幹單元格組成,單元格裏可以包含文字、列表、圖案、表單、數字符號、預置文本和其它的表格等內容。

表格最重要的目的是顯示表格類數據。表格類數據是指最適合組織為表格格式(即按行和列組織)的數據。

表格的基本結構:


<table>
  <thead>
  <tr>
    <th>序號</th>                      <!--列表第一行顯示:序號   姓名  愛好-->
    <th>姓名</th>
    <th>排行</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>1</td>
    <td>Wang</td>
    <td>大哥</td>
  </tr>
  <tr>
    <td>2</td>
    <td>Yuan</td>
    <td>二弟</td>
  </tr>
  </tbody>
</table>

屬性:

border: 表格邊框.

cellpadding: 內邊距,內容與邊框的間隙

cellspacing: 外邊距.,邊框與邊框的間隙

width: 像素 百分比.(最好通過css來設置長寬)

rowspan: 單元格豎跨多少行

colspan: 單元格橫跨多少列(即合並單元格)


8、form

(1)功能:

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

表單能夠包含input系列標簽,比如文本字段、復選框、單選框、提交按鈕等等。

表單還可以包含textarea、select、fieldset和 label標簽。


(2)表單屬性

accept-charset 規定在被提交表單中使用的字符集(默認:頁面字符集)

action 規定向何處提交表單的地址(URL)(提交頁面)

autocomplete 規定瀏覽器應該自動完成表單(默認:開啟)

enctype 規定被提交數據的編碼(默認:url-encoded)

method 規定在提交表單時所用的 HTTP 方法(默認:GET)

name 規定識別表單的名稱(對於 DOM 使用:document.forms.name)

novalidate 規定瀏覽器不驗證表單。

target 規定 action 屬性中地址的目標(默認:_self)


(3)表單元素

基本概念:

HTML表單是HTML元素中較為復雜的部分,表單往往和腳本、動態頁面、數據處理等功能相結合,因此它是制作動態網站很重要的內容。

表單一般用來收集用戶的輸入信息

表單工作原理:

訪問者在瀏覽有表單的網頁時,可填寫必需的信息,然後按某個按鈕提交。這些信息通過Internet傳送到服務器上。

服務器上專門的程序對這些數據進行處理,如果有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,服務器反饋一個輸入完成的信息。


9、input


type屬性值 表現形式 對應代碼

text 單行輸入文本 <input type=text" />

password 密碼輸入框 <input type="password" />

date 日期輸入框 <input type="date" />

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

file 文本選擇框 <input type="file" />


屬性說明:


name:表單提交時的“鍵”,註意和id的區別

value:表單提交時對應項的值

type="button", "reset", "submit"時,為按鈕上顯示的文本年內容

type="text","password","hidden"時,為輸入框的初始值

type="checkbox", "radio", "file",為輸入相關聯的值

checked:radio和checkbox默認被選中的項

readonly:text和password設置只讀

disabled:所有input均適用


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <p>姓名:<input type="text" name="user"></p>
    <p>密碼:<input type="password" name="pwd"></p>
    <p>愛好:<input type="checkbox" name="hobby" value="basketball" checked>籃球
             <input type="checkbox" name="hobby" value="football">足球
             <input type="checkbox" name="hobby" value="run">跑步
    </p>
    <p><input type="radio" name="gender" value="male">男
        <input type="radio" name="gender" value="female">女
        <input type="radio" name="gender" value="other">其他
    </p>
    <p><input type="button" value="按鈕"></p>
    <p><input type="reset"></p>
    <p>
        頭像:<input type="file" name="picture">
    </p>
    <p><input type="hidden" name="tag" value="is_tag_type"></p>
    <p><input type="submit" value="確定" </p>
</form>
</body>
</html>


10、select標簽


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


屬性說明:

multiple:布爾屬性,設置後為多選,否則默認單選

disabled:禁用

selected:默認選中該項

value:定義提交時的選項值

size:顯示的條數

multiple:復選

11、label標簽


定義:<label> 標簽為 input 元素定義標註(標記)。

說明:

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

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

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


12、textarea多行文本


<textarea name="memo" id="memo" cols="30" rows="10">    <!--name:名稱|rows:行數|cols:列數|disabled:禁用-->
  默認內容
</textarea>


五、標簽分類

1、塊級標簽

常用的塊級元素:

  address , center , div , dl ,, form , h1 , h2 , h3 , h4 , h5 , h6 , menu , ol , p , table , ul , li


2、內聯標簽

常用內聯的元素:

  a , b , br , em , font , img , input , label , select , small , span , textarea


3、塊級標簽和內聯標簽的區別

塊級標簽具有以下特點:

(1)總是在新行上開始,占據一整行;

(2)高度,行高以及外邊距和內邊距都可控制;

(3)寬帶始終是與瀏覽器寬度一樣,與內容無關;

(4)它可以容納內聯標簽和其他塊標簽。


內聯標簽的特點:

(1)和其他標簽都在一行上;

(2)高,行高及外邊距和內邊距部分可改變;

(3)寬度只與內容有關;

(4)內聯標簽只能容納文本或者其他內聯標簽。






web前端之html