前端筆記之HTML

mufengsm發表於2019-03-14

前端三層:內容層(結構層)HTML、樣式層(表現層)CSS、行為層JavaScript

語言

含義

結構層

HTML

HTML XHTML之類的標記語言負責建立。標籤,也就是那些出現在尖括號裡的單詞,對網頁內容的語義含義做出了描述,但這些標籤不包含任何關於如何顯示有關內容的資訊。例如,P標籤表達了這樣一種語義:“這是一個文字段。”

表示層

CSS

CSS 負責建立。 CSS對“如何顯示有關內容”的問題做出了回答。

行為層

JavaScript

負責回答“內容應該如何對事件做出反應”這一問題。這是 Javascript 語言和 DOM主宰的領域。

<html>

  <head>

         <title>網頁標題</title>

     </head>

     <body>

         網頁主體內容,給使用者看的。

     </body>

 </html>
  1.  <html> 標籤標示整個網頁
  2.  <head> 標籤標示網頁頭部,用於放當前網頁配置資訊,除了title標籤,其他內容在瀏覽器上都不可見
  3.  <body> 標籤標示網頁主體,放置使用者可見的內容
  4.  <title>標籤標示網頁標題,巢狀在<head>標籤對中

 

            下面這一行程式碼,在設定頁面的字符集編碼:

 <meta charset="UTF-8">

 

 UTF-8  國際碼,有世界上所有國家的文字和符號,佔用空間大

 GB2312 國家碼(中文字符集)

 GBK    國家碼(中文字符集),GBKGB2312的超集(也就是說GB2312的字GBK都有,GBK有的,GB2312未必有)

 

            工作中用哪種?

1、如果網頁中,沒有怪異符號和其他國家文字(除了英文),那麼使用GBKGB2312,因為檔案體積小

2、如果網頁中,有少數民族、韓語、日語、阿拉伯語等,就要用UTF-8

 


註釋:

作用:實際工作中,註釋是給程式設計師看的。

程式碼註釋:瀏覽器看不見(程式不執行,忽略),人能看見

HTML註釋基本語法

 <!--註釋的內容-->


 

區分單雙標籤的方法:

需要劃分範圍的肯定是雙標籤,不需要劃分範圍的肯定是單標籤

區分首尾:結束標籤比開始標籤多了“/”關閉

 <p></p>

 <hr />  水平線,自封閉單標籤

 <br />  換行,自封閉標籤

 


 

空白摺疊現象

HTML對換行、空格、縮排不敏感,如果出現都視為一個空格。

總結:瀏覽器只認識標籤。

 


 

特殊符號(轉義符號)


 

影象標籤(img

網頁中能插入的圖片格式:jpg、png、gif、bmp、webp

img是英語image單詞的縮寫,即影象的意思

img是自封閉單標籤。

src是英語,source資源的意思

 img標籤語法

 <img />

 

 <img src="01.jpg" />

任何語言寫屬性都要遵循鍵值對規則,html屬性規則是:k="v",一個標籤可以有多個屬性,要求各個屬性之間用空格隔開

<p k="v" k="v"></p>

 

屬性名

屬性值

src

圖片的路徑

width="300"

height="500"

300的寬度

500的高度

title

1、滑鼠懸停在圖片上,顯示的提示文字

2、提升搜尋引擎優化(SEO)

alt

當瀏覽器載入不到圖片時才顯示的文字

border

圖片邊框


 

路徑:

1.相對路徑

      從A檔案(HTML檔案)出發尋找B檔案(資原始檔),怎麼找到對方,這個過程的路徑叫做“相對路徑”。

      相對路徑是最常用的,一個網站都是使用相對路徑,直接把整個專案拷走,都不影響整個專案的檔案路徑。

【同級路徑】:

A檔案和B檔案都在同一個資料夾目錄,路徑寫法:直接寫檔名字。

【下一級路徑】:

路徑寫法:資料夾名稱/“/”表示開啟下一級資料夾目錄

 <img src="images/1.jpg">

 

【上一級】:

路徑寫法:../表示返回上一級,../../返回上兩級

 <img src="../images/1.jpg">

 

2.絕對路徑

【網際網路絕對地址】:

一般以http://或https://開頭的

<img src="https://img.alicdn.com/simba/img/TB1OgnIbxWYBuNjy1zkSutGGpXa.jpg">

 

【本地碟符地址】:

絕對路徑:以file:\\\開頭

<img src="file:///E:\廣州愛前端3期\2018年03月06日-HTML基礎第1天\案例\images\2.jpg">

 

注意:工作中使用相對路徑和網際網路地址,禁止使用本地路徑。


 

<a>標籤

網際網路之所以稱為“網”,就是因為網頁和網頁之間有超連結,使用者可以點選連結進行互相跳轉。

HTML中,製作超連結用a標籤,a是單詞anchor錨的簡寫。

http:// 超文字傳輸協議

https:// 安全的HTTP協議

 

<a></a>

 

<a href="http://www.baidu.com">百度</a>

 

a標籤常用屬性

 

屬性名

屬性值

href

連結地址

title

提示的文字

target

_blank   新視窗開啟

_self    當前視窗開啟(預設)

 

當不知道連結地址是什麼的時候,使用href地址寫法為“#”,在當前頁面跳轉:

1 <a href="#">空連結</a>  缺點:返回頂部並重新整理頁面

2 <a href="">空連結</a>   缺點:某些瀏覽器會開啟資源管理器

以下兩個空連結解決了以上兩種連結的bug,推薦使用:

<a href="###">空連結</a>

<a href="javascript:;">空連結</a>

錨點連結:

錨點是網頁製作中超連結的一種,能夠迅速定位到某個位置的連結。

 

使用語法:

 1、在被點選的位置新增<a href="#abc">跳轉到20的位置</a>

 2、在目標錨點的位置新增id屬性,屬性值可以自定義,也可以用name屬性(name必須給a標籤)

<p id="abc">20</p>

 

<a href="#abc">跳轉到20的位置</a>

<a href="02-頁面外部的錨點連結.html#hello"></a>

圖片連結:

點選圖片實現頁面跳轉的連結就是圖片連結

做法:圖片連結和文字連結一樣,只不過把原來放文字的地方換成img標籤即可。

<a href="http://www.baidu.com"><img src="images/2.jpg"></a>

base標籤:

作用:統一設定當前html頁面超連結的跳轉地址和頁面開啟方式。

<base href="http://www.xxx.com" target="_blank">

<base target="_blank">



語義化:

一個好的標籤語義化的網站,就是刪除CSS樣式表後,整個結構依然清晰,閱讀好。

標籤語義化概念:根據內容的結構化(內容語義化),選擇合適的標籤(程式碼語義化)

標籤語義化意義:

1.網頁結構合理       

2.有利於seo和搜尋引擎建立良好溝通,有了良好的結構和語義你的網頁內容自然容易被搜尋引擎抓取;       

3.方便其他裝置解析(如螢幕閱讀器、盲人閱讀器、移動裝置)      

4.便於團隊開發和維護

 


 

列表:

為了描述列表語義,我們使用列表標籤,列表分3種:無序列表、有序列表、定義列表

 

無序列表(ul):

 

ul是一個組合標籤,這個標籤要用,就必須要一組用,ul巢狀liul代表無序列表的整體,li代表列表的每一項。

 

規範結構:li列表項可以有無限個

<ul><li>水果</li><li>蔬菜</li><li>零食</li><li>零食</li>
</ul>

 

列表巢狀,列表可以無限巢狀列表:

<ul>
   <li>水果
        <ul>
            <li>葡萄
                <ul>
                    <li>紅葡萄</li>
                    <li>青葡萄</li>
                </ul>
            </li>
            <li>香蕉</li>
            <li>橙子</li>
        </ul>
   </li>
   <li>蔬菜</li>
   <li>零食</li>
   <li>零食</li>
</ul>

經驗:網站導航都使用ul結構製作

 

有序列表(ol):

 

ol是一個組合標籤,這個標籤要用,就必須要一組用,ol巢狀liol代表無序列表的整體,li代表列表的每一項。

 

規範結構:li列表項可以有無限個

 

<ol>
    <li>趙麗穎</li>
    <li>迪麗熱巴</li>
    <li>柳巖</li>
    <li>志玲</li>
</ol>

 

規定列表順序為降序。(9,8,7...)

<ol reversed="reversed">
    <li>趙麗穎</li>
    <li>迪麗熱巴</li>
    <li>柳巖</li>
    <li>志玲姐姐</li>
</ol>

規定有序列表的起始值。

<ol start="20">
    <li>趙麗穎</li>
    <li>迪麗熱巴</li>
    <li>柳巖</li>
    <li>林志玲</li>
</ol>

規定在列表中使用的標記型別type型別有:1AaIi

 

<ol type="I">
    <li>趙麗穎</li>
    <li>迪麗熱巴</li>
    <li>柳巖</li>
    <li>志玲</li>
</ol>

 

重點:ulol標籤對中,就是列表項,只能出現li標籤,不允許出現其他內容和標籤,但是li標籤可以巢狀任意的內容。

 

定義列表(dl):

 

自定義列表不僅是一列專案,而是專案及其註釋的組合。

 

自定義列表以<dl>標籤開始,每個自定義列表項以<dt>開始,每個自定義列表項的定義以<dd>開始。

 

我們更加習慣稱呼它們為總分列表。

 

結構:dl巢狀dtdd

 

dl是定義專案列表的意思

 

dt是定義專案標題的意思

 

dd是定義專案描述或詳情的意思

寫法1: 

<dl>

     <dt>專案標題</dt>

     <dd>專案描述1</dd>

     <dd>專案描述2</dd>

     <dd>專案描述3</dd>

</dl>

寫法2: 

<dl>

     <dt>專案標題1</dt>

     <dd>專案描述1.1</dd>

     <dd>專案描述1.2</dd>

     <dd>專案描述1.3</dd>

 

     <dt>專案標題2</dt>

     <dd>專案描述2.1</dd>

     <dd>專案描述2.2</dd>

     <dd>專案描述2.3</dd>

</dl>

 

工作中注意:

1、圖文混排效果可以用dl製作,比較簡單

2、dl中只允許出現dtdddtdd中可以放任意的內容和標籤


 

表格(table):

表格基本結構:

2005年之前,國內的網站都是使用表格佈局,缺點就是載入速度慢,現階段只用表格製作資料統計佈局

 

<table border="1" width="500" height="200">
    <tr>
        <th>姓名</th>
        <th>年齡</th>
        <th>民族</th>
        <th>性別</th>
    </tr>
    <tr>
        <td>趙麗穎</td>
        <td>18</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
    <tr>
        <td>劉德華</td>
        <td>58</td>
        <td></td>
        <td></td>
    </tr>
</table>

表格屬性:

<table>標籤屬性

 

border="1"

表格邊框

width="500"

height="300"

表格的寬度和高度,會自動平分

align="center"

水平對齊方式leftcenterright,這些屬性也可以寫在trtd身上

 

 

合併單元格:

 rowspan   合併行

 colsapn   合併列

<table border="1" width="500" height="200" align="center">
    <tr>
        <th>姓名</th>
        <th>年齡</th>
        <th>民族</th>
        <th>性別</th>
    </tr>

    <tr>
        <td>柳巖</td>
        <td>28</td>
        <td rowspan="2"></td>
    </tr>
    <tr>
        <td>劉德華</td>
        <td>58</td>
        <td></td>
    </tr>
</table>

 

表單

表單的作用:收集使用者的資訊,輸入框、單選、多選、按鈕等,都是表單。

<input>表單元素:

input表單元素是一個自封閉標籤,它有一個type屬性用於限定表單的型別。

 

型別

語法

描述

文字框

<input type="text">

 

密碼框

<input type="password" />

 

單選框

<input type="radio" name="sex" />

1、實現單選功能,必須新增name屬性,並且屬性值要一致,將所有radio歸為一類

核取方塊

<input type="checkbox" />

checked="checked" 設定預設選中屬性

disabled="disabled"設定表單禁用屬性

上傳檔案

<input type="file" />

 

提交按鈕

<input type="submit" value="提交哦">

 

重置按鈕

<input type="reset" value="重置哦">

 

圖片按鈕

<input type="image" src="reg.png">

 

普通按鈕

<input type="button" value="普通按鈕">

 


以上大部分表單都有三個共同屬性:
valuenamedisabledname屬性可以和後端互動資料,vlaue屬性可以設定預設值,disabled規定當前input元素應該被禁用。

擴大觸發區域:

為了提升使用者體驗,點選文字也能選中表單。

寫法1:在文字上巢狀label標籤,並且給標籤新增for屬性,在觸發的表單元素上新增id屬性,保證forid的值是一致。

1 <input type="radio" id="abc"> <label for="abc"></label>

2 <input type="checkbox" id="bbb"> <label for="bbb">我已閱讀並同意相關服務條款</label>

寫法2

1 <label><input type="radio" ></label>

下拉選單(select):

結構:select巢狀optionselect表示下拉選單的整體,option表示下拉選單的選項。可以在響應option的標籤:selected="selected"設定預設選中狀態

 

<select>
    <option value="北京">北京</option>
    <option value="廣州">廣州</option>
    <option value="上海">上海</option>
    <option value="深圳">深圳</option>
    <option value="東莞">東莞</option>
</select>

 

文字域(textarea):

 <textarea cols="50" rows="10">請仔細閱讀!!!!</textarea>

 

 cols   水平方向顯示的列表(寬度)

 rows   垂直方向顯示的行數(高度)

 form標籤(表單域):

所有要提交的表單元素,都必須放在form標籤中。

 <form action="aaa.php" method="post" >

     ....

 </form>

 

有兩個屬性,這兩個屬性是和後臺互動的,這是後臺叔叔的工作,不歸我們前端管。

 action  規定這個表單的內容,被提交到什麼頁面去處理

 method  規定以什麼協議來提交給後臺,可選:getpost

 

get 是偽裝url形式提交資料

post是以報文體的形式提交資料

相關文章