HTML和CSS學習


HTML和CSS

HTML

基礎講解

1569173197503
要點:

  1. 標記語言不是編程語言
  2. .html和.htm都是html文檔的后綴
  3. 標簽有圍堵和自閉兩類
  4. 開始標簽中可以定義屬性,屬性的值要用引號引起來

H5一般用於移動端的開發

1569204650388

文件標簽

H5中新增了一個lang標簽,放在<!DOCTTPE html>之后,用於表示頁面目標群體所在的國家,我們一般這樣寫:

<html lang="ch">

meta標簽用來指定字符集:<meta charset="UTF-8">

注意,html中的注釋格式為:<!-- 內容 -->

圖片標簽

圖片標簽是自閉標簽

<img src="圖片的相對路徑"/>

相對路徑從html所在的文件夾開始,可以用.表示當前文件夾,".."代表上一層目錄,"/"代表根目錄。如果圖片和html放置在同一個文件夾下,則相對路徑可以寫為./圖片名,也可以寫為當前文件夾名/圖片名,當然,也可以什么都不寫,此時默認就是./

img標簽下的屬性:

1569205610557
1569206384627
圖片加載失敗了,就顯示alt中的文字信息

列表標簽

1569206941224
1569206963824

鏈接標簽

<a herf="點擊后要跳轉到的位置">要顯示的文本內容</a>

屬性:

target: _self:在本頁面打開; _blank:在空白頁面打開

mailto:郵箱名:點擊之后會啟動郵箱對其發郵件:

1569207280379
也可以為圖片添加超鏈接(但這種方法其實不常用,更多時候是用Javascript實現的):

1569207331249

塊標簽

div和span,與CSS搭配使用。

span默認在一行中展示,是行內標簽;而div會換行,是塊級標簽

題外話:


標簽:
標簽定義 HTML 頁面中的主題變化(比如話題的轉移),並顯示為一條水平線。

語義化標簽:H5新定義

在html4中,為了區分不同塊的作用以及提高文檔可讀性,我們會在每一個div標簽中定義一個id,而在H5中則直接提供了語義化標簽:

<header>:頭部

<footer>:尾部

這些標簽同樣是要結合CSS一起來使用的

表格標簽

HTML中,表格只有行的概念,列要分別在行中定義單元格進行。輸入的時候是一行一行輸入

1569207968793
<table>:定義表格,border屬性定義表格線,width表示表格寬度

注意,這里border對應的是“1”“2”等,這個1表示的是用幾條線包圍td\tr,所以如果這個值是1,兩個單元格之間其實有兩條線。如果要變成一條線,應該將cellspacing屬性,也就是定義單元格之間空白的屬性,設置為0.

1569208411450
<tr>:定義行

<td>:定義單元格

<th>:定義表頭單元格

<caption>:定義表格標題

1569209939573
上面三個沒有樣式,而同樣是為了與CSS搭配,同時增強閱讀性

定義了三個部分之后,表格就會按thead-tbody-tfoot的順序展示,和書寫的順序就無關了

合並單元格:

  1. 合並行

    colspan,值為幾就合並從這里向下幾個行,合並之后的算在第一行中

    例如:1569210370676

  2. 合並列

    rowspan,值為幾就合並從這里向右幾個列,合並之后的算在第一列中

如果不使用CSS,table也可以用來做布局,由於網頁的布局總是比較復雜的,並不好說有幾列,所以多使用table的嵌套來完成,這樣每一行就只有一個單元格了

實例:旅游網首頁簡版

1569210967260

<!DOCTYPE html>
<html lang="ch">
<head>
    <meta charset="UTF-8">
    <title>黑馬旅游網</title>
</head>
<body>
    <!--采用Table來完成布局-->
    <!-- 最外層Table,用於整體布局-->
<table width="100%",align="center">
    <tr>
        <td>
            <img src="./source/image/top_banner.jpg" width="100%" alt="">
        </td>
    </tr>
    <tr>
        <td>
            <table width="100%" align="center">
                <tr>
                    <td>
                        <img src="source/image/logo.jpg" alt="">
                    </td>
                    <td>
                        <img src="source/image/search.png" alt=">"
                    </td>
                    <td>
                        <img src="source/image/hotel_tel.png"alt="">
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <table width="100%" align="center" cellspacing="0">
            <tr bgcolor="orange" align="center" height="45" >
                <td>
                    <a href="https://www.baidu.com">首頁</a>
                </td>
                <td>
                    門票
                </td>
                <td>
                   酒店
                </td>
                <td>
                    香港車票
                </td>
                <td>
                    出境游
                </td>
                <td>
                    國內游
                </td>
                <td>
                    港澳游
                </td>
                <td>
                    抱團定制
                </td>
                <td>
                    全球自由行
                </td>
                <td>
                    收藏排行榜
                </td>
            </tr>
        </table>
    </tr>
    <tr>
        <!-- 輪播圖-->
        <td>
            <img src="source/image/banner_3.jpg" width="100%">
        </td>
    </tr>
    <tr>
        <td>
            <img src="source/image/icon_5.jpg">黑馬精選<hr color="orange">
        </td>
    </tr>
    <tr>
        <td>
            <table width="95%">
                <tr>
                    <td>
                        <img src="source/image/jiangxuan_1.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                        <!-- &yen是人民幣符號的表示,其后必須加一個分號-->
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_1.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                        <!-- &yen是人民幣符號的表示,其后必須加一個分號-->
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_1.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                        <!-- &yen是人民幣符號的表示,其后必須加一個分號-->
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_1.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                        <!-- &yen是人民幣符號的表示,其后必須加一個分號-->
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <img src="source/image/icon_6.jpg">國內游<hr color="orange">
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr>
                    <td rowspan="2" height="100%">
                        <img src="source/image/guonei_1.jpg">
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jingxuan_2.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <img src="source/image/icon_7.jpg">境外游<hr color="orange">
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr>
                    <td rowspan="2" height="100%">
                        <img src="source/image/jiangwai_1.jpg">
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                    <td>
                        <img src="source/image/jiangxuan_3.jpg">
                        <p>上海飛三亞,五天四晚自由行</p>
                        <font color="red">&yen;899</font>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <img src="source/image/footer_service.png" width="100%">
    </tr>
    <tr>
        <td >
            <table bgcolor="orange" align="center" width="100%">
                <tr>
                    <td align="center">
                        <font color="gray" size="2" >
                            賈丁版權所有
                        </font>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
</body>
</html>

表單標簽

表單:用於采集用戶輸入的數據,用來和服務器進行交互

使用的標簽:form,用於定義一個范圍,表示采集用戶數據的范圍

表單項中的數據要想被提交,必須指定其name屬性

1569220543648
#可以用來表示當前頁面

get和post的區別:

1569220847420

  • input:可以通過修改type屬性值,改變元素展示的樣式

    Input常見元素類型:

    1. text:文本輸入,是input項的默認值

    2. password:密碼輸入框,是密文顯示的

    3. radio:單選框。要想讓多個單選框實現單選的效果,則多個單選框name屬性值必須一樣,這樣才能聲明他們是歸於同一組的

    為每一個單選框設置value屬性作為提交時的值,注意,value和name是不一樣的,不能混為一談

    1569254509748
    4. checkbox:復選框

    ? checked="checked"//默認被選中

    placeholder屬性:給出輸入框的提示信息

    題外話:label元素的作用。如果將輸入框對應的文字放置在label中:

    1569254924793
    1. file:文件選擇框<input tyep="file" name='file'>
    2. hidden:隱藏域:不被顯示,但是值可以被提交,以便於攜帶隱藏數據一並提交
    3. submit:提交按鈕
    4. button:一個純按鈕,一般和JavaScript配合使用以實現動態效果
    5. 用image做按鈕:src引用圖片位置,input類型中就填image,這樣就會把圖片作為按鈕了
    6. color:取色器,選中的顏色也會被提交
    7. data:年月日
    8. datatime-local:年月日+小時分鍾
    9. email:會自動對輸入的內容進行校驗,必須符合郵箱格式
    10. number:自動校驗輸入內容是否為數字
  • select:下拉列表

    列表項要用option進行定義,當然我們也要給select加value

    1569255824973
    一般第一項都會寫“請選擇之類的引導性的話,當然用戶要是提交了這個也不行,所以要對它設計特定的值並在隨后檢驗

    題外話:最后提交的表單項是一個key:value形式的,這里的key就是select的name(注意不是它的value,我們不會直接對select設置value的,那就沒有選的意義了)

  • textarea:文本域

    多行的待輸入區域

    常用屬性:

    1. cols:列數
    2. rows:行數

CSS

CSS概述

1569256417102

CSS的優點:

  1. 功能強大
  2. 將內容的展示和樣式的控制分離(解耦):降低耦合度以便於分工協作、提高開發效率以及CSS的重用性(因為不需要和具體HTML內容綁定了,可以套在不同HTML上)

CSS與HTML結合

  1. 內聯樣式:在標簽內使用style屬性指定css代碼

    1569256739778
    不推薦使用,沒有實現解耦的效果,並且只對當前元素生效

  2. 內部樣式:在head標簽內定義style標簽,其的標簽體內容就是css代碼

    作用域更大了,可以作用域整個HTML頁面

    1569256889296

  3. 外部樣式:在外部的CSS文件中寫CSS代碼

    1. 定義CSS資源文件
    2. 在head標簽內,定義link標簽,引入外部資源文件

    這種方式下,CSS文件的作用域可以拓展到整個項目

1569257004262
? 也可以寫為:

1569257074278

CSS基礎語法

CSS格式

1569289463840
選擇器:篩選具有相似特征的元素。例如如果我們寫div,那么所有的div都會被控制

CSS的注釋:

/*
注釋內容
*/

注意,每一對屬性都要用分號隔開,最后一個可以不加

如果CSS格式有問題,則不會生效

CSS選擇器

  1. 基礎選擇器

    1. id選擇器:選擇具體id屬性值的元素

      語法:#id屬性值{內容}

      注意,對於div和p,我們也能給他們賦id

      建議在一個html中選擇唯一id

    2. 元素選擇器:選擇有相同標簽名稱的元素

      如果一個元素被多個同級別的css控制且控制的類型相同,則后面的會覆蓋前面的

      id選擇器的優先級高於元素選擇器

    3. 類選擇器:選擇具有相同的class屬性值的元素

      語法:.class屬性值{}//注意前面那個.

      在元素內部可以定義類:1569293035068
      類選擇器的優先級也高於元素選擇器

  2. 拓展選擇器

    1. *{}:選擇所有元素

    2. 並集選擇器,語法為 ;選擇器1,選擇器2{}。

    3. 子選擇器,語法為“選擇器1 選擇器2{}“:篩選選擇器1元素下的選擇器2元素

      1569293309316
      例如像這樣,操作div下的p

    4. 父選擇器,語法為“選擇器1>選擇器2{}":篩選選擇器2的父元素選擇器1

      1569293401848
      操作的是p標簽的父類div標簽

    5. 屬性選擇器,語法為"元素名稱[屬性名=“屬性值]{}",一般用於input元素下的選擇(因為input元素下的種類太多了,需要通過指定屬性名來指定元素)

    6. 偽類選擇器,選擇一些元素具有的狀態,語法為:“元素:狀態{}”,一個典型的使用是用來控制超鏈接:

      1569293803949

CSS屬性

  1. 字體、文本

    1. font-size:字體大小
    2. color:文本顏色
    3. text-align:對齊方式
    4. line-height:行高
  2. 背景

    background:背景,可以使用圖片

    background: url("image/test.png")no-repeat center;
    
  3. 邊框

    1. border:設置邊框,是一個復合屬性。

      四條線組成一個邊框,每一條線都可以單獨設置,如果泛指border那就是指四個一起。

      多個屬性值用空格隔開就好了

  4. 尺寸

    1. width:寬度
    2. height:高度
  5. 盒子模型

    把元素當成盒子來看待,主要用來控制布局

    • mergin:外邊距
    • padding:內邊距

    1569394996512
    每一個方向上的內外邊距其實都是可以單獨設置的

    內外邊距都是相對的,它取決於當前我們所研究的元素是哪個。

    1569394841540
    舉個例子:

    1569395085178

注意,修改內邊距會改變盒子大小。解決方案:設置盒子屬性box-sizing為border-box,讓width和height就是最終盒子的大小。

  • 浮動:float

    left/right:左浮動、右浮動

    最最最最最簡單的理解是,浮動可以實現元素排列在一行

    關於浮動,這里有更加詳細的介紹:https://www.jianshu.com/p/07eb19957991


免責聲明!

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



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