網頁設計入門教學(教你寫一個簡單的網頁)

網頁的組成


HTML
網頁的具體內容和結構

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

JavaScript
網頁的交互效果,比如對用戶鼠標事件作出響應

什麼是HTML

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

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

  • HTML語法非常鬆散
  • 常見的HTML標籤
  • 標題:h1,h2,h3,h4,h5…
  • 段落:p
  • 換行:br
  • 容器:div,span(用來容納其他標籤)
  • 表格:table,tr,td
  • 列表:ul,ol,li
  • 圖片:img
  • 表單:input
  • 鏈接:a

推薦開發工具VSCODE、dreamweawer、flash、fireworks;WebStorm.

<html>
    <!-- 網頁的標題、圖標... -->
    <head>
        <mate charset="utf-8">
        <title>第一個網頁</title>
    </head>
    <!-- 網頁的具體內容 -->
    <body>
        這是網頁的內容
        <a href="https://web4theme.com" target="_blank">Web4theme</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="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png">
    </body>
</html>

HTML運行效果


什麼是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>

內頁樣式:在本網頁的style標籤中書寫

<span>123</span>
<style type="text/css">
    span {
        color:yellow;
        background-color:blue
    }
</style>

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

test.css文件內容
span {
        color:yellow;
        background-color:blue
    }


test.html引用test.css的代碼:
<span>123</span>
<link rel="stylesheet" herf="test.css">

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{
        }
        /*相鄰兄弟選擇器*/
        div + p{
        }
        /*屬性選擇器*/
        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>

偽類

屬性描述
:active向被啟動的元素添加樣式
:focus向擁有鍵盤輸入焦點的元素添加樣式
:hover當滑鼠懸浮在元素上方時,向元素添加樣式
:link向未被訪問的鏈接添加樣式
:visited向已被訪問的鏈接添加樣式
:first-child向元素的第一個子元素添加樣式
:lang向帶有指定lang屬性的元素添加樣式
:first-letter向文本的第一個字母添加特殊樣式
:first-line向文本的首行添加特殊樣式
:before在元素之前添加內容
after在元素之後添加內容
CSS偽類
<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>

選擇器優先級


針對性越強,優先級越高
選擇器的權值
通配選擇符(*):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屬性
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,外邊距)盒子擺放的時候不能全部堆在一起,盒子之間要留一定空隙保持通風,同時也為了方便取出
CSS盒模型(Box model)
<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>

內容(content)屬性

屬性描述
height設置元素高度
max-height設置元素的最大高度
max-width設置元素的最大寬度
min-height設置元素的最小高度
min-width設置元素的最小寬度
width設置元素的寬度
內容(content)屬性

填充(padding,內邊距)屬性

屬性描述
padding在一個聲明中設置所有內邊距屬性
padding-bottom設置元素的下內邊距
padding-left設置元素的做內邊距
padding-right設置元素的有內邊距
padding-top設置元素的上內邊距
CSS padding屬性

邊框border屬性

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

邊界margin屬性

屬性描述
margin在一個聲明中設置所有外邊距屬性
margin-bottom設置元素的下外邊距
margin-left設置元素的左外邊距
margin-right設置元素的右外邊距
margin-top設置元素的上外邊距
CSS margin屬性
Alex Lin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *