從零開始學習前端開發 — 1、HTML基礎


一、web標准

web標准-網頁制作的標准,它是由一系列標准組成的,主要包含三個方面:結構(html,xhtml),表現(css),行為(javascript)

 

注:結構和表現的標准由w3c(萬維網聯盟)制定,行為標准由ECMA(歐洲電腦廠商聯合會)制定


二、html相關概念

1.html—超文本標記語言

2.xhtml—可擴展的超文本標記語言

3.html5—html的第五次重大修改

注:html和xhtml的區別:

XHTML規范:必須小寫,有開始結束標簽,屬性也用雙引號。

HTML規范:不區分大小寫,有開始和結束標簽,也可把結束標簽放在開始標簽里,如:<input type='text' /> 。屬性可用雙引號、單引號(必須配對使用)。

xhtml相對於html並沒有增加新的標簽,只是語法要求更加嚴格,比如:標簽必須閉合,標記名稱必須小寫等


 

三、html基本結構

1.文檔聲明

html5的文檔聲明語法: <!DOCTYPE html>

作用:告知瀏覽器文檔使用哪種 HTML 或 XHTML 規范

2.html是網頁的根元素或根標簽,所有的網頁內容和標簽都放在html標簽之間

語法: <html></html>

3.html包含了兩大部分:head部分和body部分

head部分:一般設置meta頭元素或引入一些外部的css文件,js文件等以及關鍵詞,描述

設置字符編碼:

<meta charset="utf-8"/> 防止網頁出現亂碼

其他編碼格式:gb2312,gbk

body部分:所有要在網頁中顯示的內容及放置內容的標簽都放在body部分

HTML5 基本結構 (新建一個html文件時默認有那些代碼)
<!DOCTYPE html>命名文檔類型
<html></html>說明我們寫的是標記語言
<head></head>文件頭部
<title></title>文件標題(顯示在狀態欄上的內容)
<meta charset="utf-8" />編碼格式
<body></body>文件主體(所有要寫的內容)

  


 

 四、html基本語法

1.常規標記

語法: <標記 屬性="屬性值" 屬性="屬性值"></標記>

eg: <div class="box" id="main"></div>

2.空標記

語法: <標記 屬性="屬性值" />

eg: <img src="1.jpg"/>

注:a)屬性和屬性值用等號連接,屬性值要放在雙引號中(所有標點符號都必須是英文狀態下的)

  b)標記名稱全部使用小寫(標准)

  c) 屬性和屬性之間用空格隔開,不分先后順序


、html常用標記

1.網頁標題語法: <hx>網頁標題內容</hx> (x為1-6)

eg: <h3>我是標題</h3>

2.段落文本語法: <p>段落文本內容</p>

3.空格html轉義字符: &nbsp;

注:常用其他轉義字符:

">" =&gt;             "<" =&lt;                版權聲明=&copy

HTML轉義字符表

4.強制換行語法: <br/> (空標記)

5.加粗語法:

   <strong>加粗文本內容</strong>

    <b>加粗文本內容</b>

6.傾斜語法:

     <em>傾斜文本內容</em>

     <i>傾斜文本內容</i>

7.水平分隔線語法: <hr/>

   <hr align="left" size="3" width="50%"/><!--水平線,起到分割的作用-->
    <hr align="center" size="3" width="50%"/>
    <hr align="right" size="3" width="50%"/>
    <hr noshade/>
    <!--align 左對齊 右對齊 居中-->
    <!--size 粗細 單位像素-->
    <!--color顏色-->
    <!--width寬度(就是這條線有多長) 50%表示的是父層寬度的50%-->
    <!--noshade (沒有屬性值的屬性) 不要陰影 -->

 

 

8.上標和下標語法: <sup></sup> 上標      <sub></sub> 下標

9.無序列表語法:

     <ul>

        <li>aaa</li>
        <li>bbb</li>
      ...
   </ul>

ul:type 有:circle 空心圓,disc 實心圓,square 實心正方形, none :前面無符號;

10.有序列表語法:

   <ol type="a" start="2">

     <li>aaa</li>
       <li>bbb</li>
     ...
   </ol>

:type用來設置序號的類型,可以設置A,a,i,I,1

  start用來設置從幾開始

eg:代碼:

    <ol type="a" start="2">
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
        <li>今天天氣不錯,陽光明媚!適合敲代碼!</li>
    </ol>

 

  效果:(默認序號類型是數值 ,設置屬性type=“a”起作用,是從b開始  start屬性作用)

  

11.自定義列表

語法: <dl>
    <dt>A</dt>
    <dd>a1</dd>
    <dd>a2</dd>
    ...
    <dt>B</dt>
    <dd>b1</dd>
    <dd>b2</dd>
    ...
   </dl>

注:dt和dd是並列關系

  在dl中可以存在多組dt,dd,每組中只能存在一個dt,可以存在多個dd

12.圖片語法: <img src="圖片路徑" width="數值" height="數值" alt="替換文本" title="提示文本"/>

注:alt和title的區別

  title是當鼠標懸停在圖片上時要顯示的提示信息

  alt是當圖片由於某些原因無法正常加載時要顯示的替換信息

     <img src="images/picture.jpg" border="2" width="200">
        
        <!-- 圖片路徑 src(相對路徑) 寬度 width 高度 height 邊框粗細 border 水平對齊方式 align left/center/right -->
        <!--如果想要等比例縮放,就只能給寬或高,二者中的一個-->
        
        <!--img align="center" 不可以實現圖片居中的-->
        <!--div做橋,將圖片放在div中,然后設置div中的內容居中-->
        <div style="text-align:center;">
            <img src="images/picture.jpg" align="left"/>
        </div>

 


相對路徑的三種寫法:

1.當當前文件和目標文件在同一目錄下,寫法如下: 目標文件名+擴展名

2.當當前文件和目標文件所處文件夾在同一目錄下,寫法如下: 目標文件所處文件夾名/目標文件名+擴展名

3.當當前文件所處文件夾和目標文件所處文件夾在同一目錄下,寫法如下:../目標文件所處文件夾名/目標文件名+擴展名

注:../是指返回到上一級目錄


 13.超鏈接語法:<a href="http://鏈接地址或鏈接文件" target="_blank" title="提示信息">鏈接文本或圖片</a>

注: target屬性用來設置超鏈接是否在新窗口打開

  target="_blank" 鏈接在新窗口打開

  target="_self" 默認值,在本窗口打開

注:空鏈接 <a href="#">新聞資訊</a> (跳轉到頁面的頂部)

14.表格作用:顯示數據(多用於后台管理)

標簽釋義:<caption></caption>:表頭信息。

     <tr></tr> :定義一個表格行;

     <th></th> :定義一個表格頭;自帶居中效果,若是純文字,默認會以粗體的樣式表現。

       <tbody></tbody> :可以理解為表格的內容區域,在Chrome、FF瀏覽器通過DOM進行表格動態插入行的時候,要使用這個。如果不進行DOM操作,可不用添加。

     <td></td> :定義一個單元格;

語法: 

<table border=0 title="測試">
    <caption> 表格標題</caption>
    <tr>
        <th>姓名</th>
        <th>年齡</th>
    </tr>
    <tr>
        <td>張三</td>
        <td>22</td>
    </tr>
    <tr>
        <td><input type=text /></td>
        <td><input type=text /></td>
    </tr>
</table>

 

注:*表格相關屬性:

(1)border 設置邊框的寬度

(2)cellspacing 設置單元格之間的間距

(3)cellpadding 設置內容和單元格之間的空隙

(4)align="left|center|right" 設置單元格內容的對齊方式

(5)width 設置單元格的寬度

(6)height 設置單元格的高度或者tr的高度

(7)colspan="數值" 合並列(給td加)

(8)rowspan="數值" 合並行(給td加)

   高級屬性

(1)合並相鄰單元格邊框

  語法: border-collapse:collapse(合並相鄰單元格邊框)|separate(邊框分開);

  注: border-collapse給table加

eg:

不設置border-collapse 屬性,默認值separate

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格高級屬性</title>
    <style type="text/css"> .tab{
        /*border: 1px solid black;*/
    } .tab td{ border:1px solid black; padding:5px 10px; text-align: center;
}
    </style>
</head>
<body>
    <table class="tab" cellpadding="0" cellspacing="5" >
        <caption>測試數據</caption>
        <tr>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
        </tr>
        <tr>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
        </tr>
        <tr>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
            <td>測試數據</td>
        </tr>
    </table>
</body>
</html>

 

瀏覽器顯示:

  

當我們設置border-collapse :collapse時瀏覽器顯示的效果:

  

 

2.定義表格標題的位置(給table加)語法:caption-side:top|bottom|left|right;

注:left和right只有火狐識別

  caption是一個塊狀元素

3.設置單元格的間距(給table加)語法:border-spacing:數值+單位;

注:當設置了border-collapse:collapse;時,border-spacing會失效

4.隱藏或顯示無內容單元格(給table加)語法:empty-cells:show(顯示)|hide(隱藏);

5.表格布局算法(給table加)語法: table-layout:fixed|auto;

注:當設置為fixed的時候,單元格寬度固定,不隨內容多少發生變化

.tab3{ table-layout: fixed; } <table class="tab3" width="400" border="1" cellspacing="0" cellpadding="0">
        <tr height="30">
            <td width="300">jkfdjkdsjfkdsjfkdsjfkjdsfkjdskfjdskfjdskfjdskfjdskfjdskfjdskjfdsjfdsfds</td>
            <td width="100">1010101020030020303030004004</td>
        </tr>
    </table>

 瀏覽器顯示效果:

表格相關html屬性

1.設置單元格內容水平對齊方式

align="left|center|right"

2.設置單元格內容垂直對齊方式

valign="top|middle|bottom"

3.設置表格分隔線

rules="rows|cols|all|groups|none"

rows 行分隔線  cols 列分隔線  all 行分隔線和列分隔線  groups 組分隔線  none 沒有分隔線

4.表格行分組

<thead></thead> <tbody></tbody> <tfoot></tfoot>

5.表格列分組

<colgroup span="數值"></colgroup>

<col span="數值"/>

注:推薦使用colgroup進行列分組

span的默認屬性值為1,一列為一組,設置為幾即為幾列為一組

着重釋義:

  colspan : 表示橫向合並單元格 ( )              rowspan :表示縱向合並單元格 (  )


 

六、表單

作用:用來搜集用戶信息

語法:<form method="" action=""></form>

注:所有的表單控件都要放在form標簽之間

1.文本框

語法: <input type="text" value="admin" name="username"/>

注:value用來設置默認值

name屬性主要供后端獲取輸入的內容或信息

2.密碼框

語法:<input type="password"/>

3.提交按鈕

語法: <input type="submit" value="登錄"/>

注:提交按鈕的默認value值為提交或提交查詢,可重新設置需要的value值

4.重置按鈕

語法: <input type="reset"/>

5.單選按鈕

語法:<input type="radio" name="***" checked="checked"/>

注:使用單選按鈕時,一組中的單選按鈕必須添加一致的name屬性值,才能實現多選一的效果

  設置checked屬性可以實現頁面加載完成后添加默認選中狀態

  當屬性和屬性值相同時,可以省略屬性值,如checked="checked" 可以簡寫為checked

6.復選框(復選按鈕)

語法:<input type="checkbox" checked disabled/>

注:checked屬性主要應用在單選和復選按鈕上

disabled屬性用來設置input控件的禁用狀態

7.下拉列表

語法: <select>
    <option>a</option>
    <option selected>b</option>
    ...
   </select>

注:selected用來設置下拉列表的默認選中項

8.文本域

語法:<textarea cols="字符寬度" rows="行數"></textarea>

擴展:禁止用戶通過拖拽改變文本域的大小

textarea{resize:none;}

9.普通按鈕

語法:<input type="button" value="***"/>

注:普通按鈕不具備提交的功能,通常結合js使用

普通按鈕默認value值為空,可以重新設置value屬性

10.提示信息:

a)可以將單選或復選按鈕和文字進行關聯,點擊文字也可選中單選,復選按鈕

eg: <input type="radio" name="sex" id="boy"/><label for="boy">男</label>

<input type="checkbox" id="ball"/> <label for="ball">籃球</label>

b)將提示信息放置在label標簽中可以設置我們想要的樣式

c) label標簽是內聯元素

11.表單字段集及表單字段集標題

語法:<fieldset>
      <legend>用戶注冊</legend>
      ...
   </fieldset>

作用:將form中的表單控件進行分組, 並添加一個標題

12.上傳文件

語法: <input type="file"/>

13.隱藏字段

語法:<input type="hidden"/>

注: 主要供后端修改數據時使用

14.圖像域

語法:<input type="image" width="***" height="***" src="圖片路徑"/>

作用:使用圖像作為提交按鈕,具備提交功能


 

form標簽上的相關屬性解釋:

1.method 用來設置數據傳送方式,一般為get和post方式

注:get和post的區別

1. get是從服務器上獲取數據,post是向服務器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,服務器端用Request.QueryString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。

2.action 用來設置數據要發送到的位置,一般為后端文件

eg: <form method="get/post" action="http://www.qfedu.com/index.php"></form>


 

七、div

作用:在布局網頁時用來划分板塊

語法: <div></div>


 

八、span

語法: 

<span>標簽被用來組合文檔中的行內元素。在行內定義一個區域,也就是一行內可以被<span>划分成好幾個區域,從而實現某種特定效果。<span>本身沒有任何屬性。

在IE6下,span元素浮動時一定要把span元素放在a標簽之前,不然,會出現瀏覽器兼容問題,IE6下,浮動過后的span元素會向下錯位一行。

提示和注釋:

提示:請使用<span>來組合行內元素,以便通過樣式來格式化它們。

注:span沒有固定的表現格式,只有在對它應用樣式時,才會產生視覺上的差異

span可以實現將文本的某一部分獨立出來


 

九、iframe框架和<frameset> 標簽

 

1.iframe框架

語法: <iframe src="3.表單.html" width="500" frameborder="0" scrolling="auto"></iframe>

注:width:iframe框架的寬度

     height:iframe框架的高度

       frameborder  設置iframe框架的邊框

       scrolling = "no"  隱藏(去掉)iframe的滾動條 

2.frameset 定義一個框架集,包含多個框架,每個框架都有獨立的文檔。

2.1 格式

<frameset >
  <frame src="a.html" />
  <frame src="b.html" />

  <noframes>框架無效</noframes>
</frameset>

 2.2 子項說明

<frame src="a.html" /> :子框架

<noframes></noframes>:瀏覽器不支持此框架的時,顯示的內容。

 2.3 屬性

frameset 屬性:

  rows :表示子框架按行的樣式布局()。以2個子框架為例:rows="30%,*" ,表示第一個框架占整個頁面30%的高度,第二個占剩下的;

  cols :表示子框架按列的樣式布局()。以2個子框架為例:cols="30%,*" ,表示第一個框架占整個頁面30%的長度,第二個占剩下的;

  noresize="noresize" :表示不調整子框架的范圍。

frame 屬性:

  src :指向一個資源(如頁面、圖片等)的URI;

  name :指定框架的名稱,以便進行框架間的操作。

十、html注釋


 

語法: <!--注釋內容-->

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM