1. 程式人生 > >教你寫一個簡單的網頁(html網頁開發入門)

教你寫一個簡單的網頁(html網頁開發入門)

網頁的組成

HTML 
網頁的具體內容和結構

CSS 
網頁的樣式(美化網頁最重要的一塊)

JavaScript 
網頁的互動效果,比如對使用者滑鼠事件作出響應

HTML

什麼是HTML

HTML的全稱是HyperTextMarkupLanguage,超文字標記語言 
其實它就是文字,由瀏覽器負責將它解析成具體的網頁內容

比如,瀏覽器會將下面的HTML程式碼

<ul>
    <li>知乎</li>
    <li>CSDN</li>
    <li>部落格園</li>
</ul>
  • 1
  • 2
  • 3
  • 4
  • 5

轉化為 
知乎 
黑馬 
CSDN 
的網頁內容

HTML的組成

跟XML類似,HTML由N個標籤(節點、元素、標記)組成

HTML語法非常鬆散

常見的HTML標籤

  • 標題:h1,h2,h3,h4,h5…
  • 段落:p
  • 換行:br
  • 容器:div,span(用來容納其他標籤)
  • 表格:table,tr,td
  • 列表:ul,ol,li
  • 圖片:img
  • 表單:input
  • 連結:a 
    推薦開發工具(網路三劍客)dreamweawer、flash、fireworks;WebStorm.
<html>
    <!-- 網頁的標題、圖示... -->
    <head>
        <mate
charset="utf-8">
<title>第一個網頁</title> </head> <!-- 網頁的具體內容 --> <body> 這是網頁的內容 <a href="http://www.baidu.com" target="_blank">百度</a> <h1>666666666</h1> <h2>666666666</h2> <h3
>
666666666</h3> <h4>666666666</h4> <h5>666666666</h5> <p>ppppppppppp</p> <div> <p>ppppppppppp</p> </div> <ul> <li>hahaha</li> <li>hahaha</li> <li>hahaha</li> </ul> <ol> <li>ahahah</li> <li>ahahah</li> <li>ahahah</li> </ol> <img src="text.png"> </body> </html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

CSS

什麼是CSS

CSS的全稱是Cascading Style Sheets,層疊樣式表 
它用來控制HTML標籤的樣式,在美化網頁中起到非常重要的作用

CSS的編寫格式是鍵值對形式的,比如

color : red 
background-color : blue 
font-size : 20px 
冒號左邊的是屬性名,冒號右邊的是屬性值

CSS三種書寫方式

  • 行內樣式:(內聯樣式)直接在標籤的style屬性中書寫
<span style="color:red;background-color:red;">123</span>
  • 1
  • 內頁樣式:在本網頁的style標籤中書寫
<span>123</span>
<style type="text/css">
    span {
        color:yellow;
        background-color:blue
    }
</style>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

外部樣式:在單獨的CSS檔案中書寫,然後在網頁中用link標籤引用 
test.css

span {
        color:yellow;
        background-color:blue
    }
  • 1
  • 2
  • 3
  • 4

test.html

<span>123</span>
<link rel="stylesheet" herf="test.css">
  • 1
  • 2

CSS選擇器

選擇器的作用

選擇對應的標籤,為之新增樣式

標籤選擇器 根據標籤名找到標籤

類選擇器 標籤可以有多個類

id選擇器 id是唯一的,不能一樣

選擇器組合 中間不留空格,粘在一起

後代選擇器 中間一個空格,不管巢狀多少層

相鄰兄弟選擇器

屬性選擇器

<html>
<head lang="en">
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        /*標籤選擇器*/
        p{
            color:red;
        }
        /*類選擇器*/
        .first{
            color:red;
        }
        .second{
            color:blue;
        }
        /*id選擇器*/
        #first{
            color:yollew;
        }
        #second{
            color:green;
        }
        /*群組選擇器*/
        .first, #second, h1{
        }
        /*選擇器組合*/
        div.first{
        }
        /*後代選擇器*/
        div p{
        }
        /*子標籤選擇器*/
        div > p{
        }
        /*相鄰兄弟選擇器*/
        divp{
        }
        /*屬性選擇器*/
        div[name]{
        }
        div[name][age]{
        }
        div[name="jack"]{
        }
    </style>

</head>
<body>
    <div>
        <p>p1</p>
        <span>
            <p>p2</p>
        </span>
    </div>
    <div name="jack">div1</div>
    <div age="10">div2</div>
    <p>與div相鄰的p</p>

    <div class="first">123</div>
    <div id="first">123</div>

    <p class="first second">123</p>
    <p id="second">123</p>

    <h1>hhh</h1>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68

偽類

屬性 描述
:active 向被啟用的元素新增樣式
:focus 向擁有鍵盤輸入焦點的元素新增樣式
:hover 當滑鼠懸浮在元素上方時,向元素新增樣式
:link 向未被訪問的連結新增樣式
:visited 向已被訪問的連結新增樣式
:first-child 向元素的第一個子元素新增樣式
:lang 向帶有指定lang屬性的元素新增樣式
:first-letter 向文字的第一個字母新增特殊樣式
:first-line 向文字的首行新增特殊樣式
:before 在元素之前新增內容
after 在元素之後新增內容
<html>
<head lang="en">
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        div {
            width:100px;
            height:100px;
            background-color:red;
        }
        div:hover{
            background-color:blue;
        }
        div:before{
            content:"666";
        }
    </style>

</head>
<body>
    <div>

    </div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

選擇器優先順序

針對性越強,優先順序越高 
選擇器的權值 
通配選擇符(*):0 
標籤:1 
:10 
屬性:10 
偽類:10 
偽元素:1 
id:100 
important:1000

原則:選擇器的權值加到一起,大的優先;如果權值相同,後定義的優先 
important > 內聯 > id > 類 > 標籤|偽類|屬性選擇器 > 偽元素 > 萬用字元 > 繼承

CSS標籤的型別

HTML有N多標籤,根據顯示的型別,主要可以分為2大類

塊級標籤,獨佔一行的標籤 
行內標籤(內聯標籤),多個行內標籤能同時顯示在一行

修改標籤的顯示型別

CSS中有個display屬性,能修改標籤的顯示型別

屬性 說明
none 隱藏標籤
block 塊級型別,獨佔一行,能隨時設定寬度和高度
inline 行內型別(內聯型別),多個行內標籤可以顯示在同一行,寬度和高度取決於內容尺寸
inline-block 行d內-塊級型別(內聯-塊級型別),多個行內標籤可以顯示在同一行,能隨時設定寬度和高度

CSS屬性

CSS有N多屬性,根據繼承性,主要可以分為2大類

可繼承屬性 
- 父標籤的屬性值會傳遞給子標籤 
- 一般是文字控制屬性

不可繼承屬性 
- 父標籤的屬性值不能傳遞給子標籤 
- 一般是區塊控制屬性

CSS屬性-可繼承屬性

所有標籤可繼承 
visibility、cursor

內聯標籤可繼承 
letter-spacing、word-spacing、shite-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction

塊級標籤可繼承 
text-indent、text-align

列表標籤 
list-style、list-style-type、list-style-position、list-style-image

CSS屬性-不可繼承屬性

display、margin、border、padding、background 
height、min-height、max-height、width、min-width、max-width 
over-flow、position、left、right、top、bottom、z-index 
float、clear 
table-layout、vertical-align 
page-break-after、page-bread-before 
unicode-bidi

盒子模型

網頁上每一個標籤都是一個盒子 
每個盒子都有四個屬性

屬性 說明
內容(content) 盒子裡裝的東西,網頁中通常是指文字和圖片
填充(padding,內邊距) 怕盒子裡裝的(貴重的)東西損壞,而新增的泡沫或者其它抗震的輔料
邊框(border) 盒子本身
邊界(margin,外邊距) 盒子擺放的時候不能全部堆在一起,盒子之間要留一定空隙保持通風,同時也為了方便取出
<html>
<head lang="en">
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        div {
            width: 100px;
            height: 100px;
            background-color: blue;
            margin-top: 20px;
            padding-top: 20px;
            border: 20px solid red;
            border: 5px dashed red;/*虛線*/
                    }
    </style>

</head>
<body>
    <div>123</div>
    <div>456</div>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

內容(content)屬性

屬性 描述
height 設定元素高度
max-height 設定元素的最大高度
max-width 設定元素的最大寬度
min-height 設定元素的最小高度
min-width 設定元素的最小寬度
width 設定元素的寬度

填充(padding,內邊距)屬性

屬性 描述
padding 在一個宣告中設定所有內邊距屬性
padding-bottom 設定元素的下內邊距
padding-left 設定元素的做內邊距
padding-right 設定元素的有內邊距
padding-top 設定元素的上內邊距

邊框border屬性

屬性 描述
border-width 寬度
border-style 樣式
border-color 顏色
border-radius 圓角

邊界margin屬性

屬性 描述
margin 在一個宣告中設定所有外邊距屬性
margin-bottom