網頁

網頁的組成

網頁的基本架構

網頁的樣式美觀、佈局排版

增添使用者與網頁的互動性效果

就類似....

HTML

什麼是HTML

什麼是HTML?

全名Hyper Text Markup Language

是一種基礎技術

是標記語言不是程式語言

主要用途是定義網頁的內容

按下F12!!!

HTML

如何寫HTML

如何寫HTML?

可以使用....

Visual Studio Code

使用步驟

1. 新增資料夾

使用步驟

2. 打開VScode

點選剛建的資料夾

3. 按新增檔案

(檔案名稱後面記得加.html喔!)

使用步驟

4. 按下快捷鍵!+ ENTER

就可以開始打了!

使用步驟

下載繁體中文

右下角Go Live打開網頁

(也可按右鍵開啟)

常用快捷鍵

起手式 !+ Enter
回上一步 Control+Z
儲存 Control+ S

HTML

了解HTML元素

開頭標籤

結尾標籤

內容

以上三個加起來就是元素!

元素

但並不是所有的元素都有結尾標籤

HTML

HTML的結構

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
<body>
  
</body>
</html>

<!DOCTYPE html>讓瀏覽器知道這個文件是HTML

<html>:標定網頁原始碼的範圍。

                ・lang="en":設定元素的語系。

<head>:告訴瀏覽器網頁如何編碼、使用哪個關鍵字等。

<body>:標示HTML文件的主體。

<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
  • <meta charset="UTF-8">:指定網頁所使用的編碼。
  • <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>:以最高級別的可用模式顯示內容。
  • <title>:描述網頁的標題。

<head>

HTML

常見標籤

<h1>標題</h1>
<h2>標題</h2>
<h3>標題</h3>
<h4>標題</h4>
<h5>標題</h5>
<h6>標題</h6>
<p>段落段落段落段落段落段落</p>
<p>段落段落段落段落段落段落</p>

段落 paragraph

標題 heading

換行 <br>

<p>YES</p>
<br>
<p>NO</p>

水平分隔線 <hr>

<p>NO</p>
<hr>
<p>YES</p>

插入圖片 <img>

<img  src="1https://reurl.cc/mooExW" alt="Mysta" width="100%" height="100%">

src:放網址

alt:圖片替代文字

width:圖片寬度

height:圖片高度

你可以把你要的圖片放到網頁的資料夾裡

這樣比較不會出問題!

插入連結 <a>

<a href="https://www.youtube.com/" target="_blank">這裡</a>

href:放網址

target:指定在什麼地方打開連結     

           ・_blank:在新視窗開啟

這裡具有超連結功能的文字或圖片

插入影片 <iframe>

<iframe width="950" height="534" src="https://www.youtube.com/embed/DXhP49zlazU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

按右鍵

<dl>
  <dt>被定義的名詞</dt>
  <dd>解釋一</dd>
  <dd>解釋二</dd>
</dl>

<dl>
  <dt>beautiful</dt>
  <dd>美麗的,漂亮的</dd>
  <dd>美好的;極好的</dd>
</dl>
<ul>
  <li>項目</li>
  <li>項目</li>
  <li>項目</li>
</ul>
<ol>
  <li>項目</li>
  <li>項目</li>
  <li>項目</li>
</ol>

有序清單 <ol>

無序清單 <ul>

定義清單

清單

  • <dt>,<dd>要一起才完整
  • <dt>下可有很多個<dd>

表格

<table>:表格

<tr>:橫列

<td>:直行

<th>:欄位標題

<table>
 <tr>
    <td>國家</td>
    <th>首都</th>
    <td>人口</td>
    <td>語言</td>
 </tr>
 <tr>
    <td>USA</td>
    <td>Washington D.C.</td>
    <td>309 million</td>
    <td>English</td>
 </tr>
 <tr>
    <td>Sweden</td>
    <td>Stockholm</td>
    <td>9 million</td>
    <td>Swedish</td>
 </tr>
</table>

表格

<table border="1">
  <caption>存錢計畫</caption>
  <tr>
    <th>日期</th>
    <th>金額</th>
  </tr>
  <tr>
    <td>2020-01-01</td>
    <td>$500</td>
  </tr>
  <tr>
    <td>2020-01-12</td>
    <td>$800</td>
  </tr>
  <tr>
    <td>2020-02-22</td>
    <td>$600</td>
  </tr>
</table>

caption:表格的標題

border:邊框

<table border="1">
  <tr>
    <th>項目</th>
    <th>金額</th>
  </tr>
  <tr>
    <td>iPhone 11</td>
    <td>$24,900</td>
  </tr>
  <tr>
    <td>AirPods</td>
    <td>$6,490</td>
  </tr>
  <tr>
    <td colspan="2">總金額: $31,390</td>
  </tr>
</table>

colspan

  • 水平合併多行的儲存格
  • colspan="2" 表示從這一行開始往右合併至下一行
  • 後面幾列的 <tr> 中同樣位置的 <td> 就要省略不寫

表格-合併儲存格

rowspan

  • 垂直合併多列儲存格
  • rowspan="2" 表示從這一列開始往下合併至下一列
  • rowspan="0" 表示儲存格從這一列開始合併到最後一列的意思。
<table border="1">
  <tr>
    <th>項目</th>
    <th>金額</th>
    <th>總金額</th>
  </tr>
  <tr>
    <td>iPhone 11</td>
    <td>$24,900</td>
    <td rowspan="2">$31,390</td>
  </tr>
  <tr>
    <td>AirPods</td>
    <td>$6,490</td>
  </tr>
</table>
<table border="1">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
  </tr>
  <tr>
    <td>5</td>
    <td rowspan="0">6</td>
    <td>7</td>
    <td>8</td>
  </tr>
  <tr>
    <td>9</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>13</td>
    <td>15</td>
    <td>16</td>
  </tr>
</table>

表格-合併儲存格

<b>粗體</b>
<strong>強調粗體</strong>
<i>斜體</i>
<em>強調斜體</em>
<u>加底線</u>
<sub>上標</sub>
<sup>下標</sup>
<small>小字</small>
<s>刪除字</s>
<q>引用語</q>
<mark>螢光標記</mark>
<ruby>呵<rt>ㄏㄜ</rt></ruby>

常見文字格式

標註

註解 <!-- -->

 <!--我是註解,在網頁裡你看不到我~-->
<figure>
        <img src="https://memeprod.sgp1.digitaloceanspaces.com/user-wtf/1602699067420.jpg">
        <figcaption>貓貓梗圖</figcaption>
 </figure>

<figure>:用來標註圖片表格程式碼等。

<figcaption>:針對<figure>元素設定的內容做說明。

註解不會顯示在瀏覽器畫面

可以用來記錄程式的用途與結構

<input>

<input value="我的初始值"> <!--指定初始值-->
<br>
<input disabled> <!--將元件設定為禁用狀態-->
<br>
<input value="點我看看可否編輯" readonly> <!--將元件設為唯獨不可更改內容的狀態-->
<br>
<input placeholder="請輸入帳號"> <!--輸入的提示訊息-->
<br>
<input type="text"> <!--文字輸入欄位-->
<br>
<input type="password"> <!--密碼輸入欄位-->
<br>
<input type="checkbox"> <!--核取方塊-->
<br>
<input type="radio"> <!--選項按鈕-->
<br>
<input type="button"> <!--表單按鈕-->
<br>
<input type="range"> <!--數字範圍滑動選取欄位-->
<br>
<input type="color"> <!--顏色選擇器-->
<br>
<input type="date"> 
<input type="month"> <!--日期輸入欄位-->
<br>
<input type="number"> <!--數字輸入欄位-->
  • maxlength: 指定最多能輸入多少字。
  • minlength: 指定最少需要輸入多少字。
  • size: 一個數字指定欄位顯示寬度。
  • max: 可以輸入的最大值。
  • min: 可以輸入的最小值。
  • step: 設定一個數字,用來控制數字元件一次跳動的幅度。

HTML

元素分類

其實

元素又分成三種....

塊級元素

空元素

內聯元素

只有開始標籤而沒有結束標籤,通常用來在文件中插入、嵌入物件

會從新的一行開始,能容納其他塊元素或內聯元素。

又稱行內元素,不換行。

(例如:<br>、<hr>、<img>)

(例如:<h1>~<h6>、<p>、<div>)

(例如:<em>、<i>、<b>)

CSS

什麼是CSS

什麼是css?

全名Cascading Style Sheets

意思是串接樣式表、階層樣式表

主要用途是定義網頁外觀

CSS

語法規則

宣告

樣式規則

/*這是css的註解*/

CSS

連結HMTL文件與CSS樣式表

內聯樣式

使用HTML元素的style屬性設定樣式表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hehe</title>
</head>
<body>
  <h1>Hello, world</h1>
  <p style="color:white;background:purple;">hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
</body>
</html>

只影響一個<p>

內部樣式表

在<head>元素裡使用<style>元素嵌入樣式表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hehe</title>
    <style>
      p{
      	  color:white;background:purple;
      } 
    </style>
</head>
<body>
  <h1>Hello, world</h1>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
</body>
</html>

影響所有的<p>

外部樣式表

將外部樣式表連結至HTML文件(比較推薦!!)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hehe</title>
    <link rel="stylesheet" href="你的檔案.css"> 
</head>
<body>
  <h1>Hello, world</h1>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
</body>
</html>

影響所有的<p>

外部樣式表

讀取順序
內聯樣式>內部樣式表>外部樣式表

也可以......

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hehe</title>
    <style>
      @import url(你的檔案.css);
    </style>
</head>
<body>
  <h1>Hello, world</h1>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
  <p>hehehehehehehehehehehehehehe</p>
</body>
</html>

CSS

選擇器

class選擇器(class selector)

ID選擇器(ID selector)

選擇器是用來設定要套用樣式規則的對象。

  • 以隸屬於指定類別的HTML元素做為要套用樣式規則的對象。
  • 其命名格式為「.XXX」。
  • 以符合指定id(識別字)的HTML元素作為要套用要是規則的對象。
  • 其命名格式為「#XXX」。
.happy{
  color: red;
}
#sadge{
  color: red;
}

Class和ID差在哪裡?

Class 跟 ID最大的不同

就在於 CSS的ID 選擇器在一個 HTML 文件中只能被使用一次

可是 Class 選擇器在一個 HTML 文件中可以被使用多次。

div 元素

span 元素

將內容分為不同的區域,而每一個區域可以根據 CSS 中的宣告而有自己的樣式。

和div很像,但span可以涵蓋更細層的元素。所以可以用 <span> 來調整單一文字的樣式。

<div class="happy">
  <h1>Hello, world</h1>
  <p>hehehe</p>
  <p>hehehe</p>
  <p>hehehe</p>
</div>
<p>哈哈哈<span class="sadge">哈囉</span>哈哈哈哈</p>

可搭配class、ID、style等屬性。

(HTML)

CSS

顏色

色彩屬性

  • 色彩名稱
  • rgb(rr, gg, bb)
  • #rrggbb(十六進位表示法)
h3{
    color: #FF0000;
}
h2{
    color:(100%, 0%, 0%);
}
h1{
    color: red;
}
  • rgba(rr, gg, bb, alpha)
  • hsl(hue, saturation, lightness)
  • hsla(hue, saturation, lightness, alpha)

透明度

0.0~1.0

完全透明~完全不透明

飽和度(色彩的純度)

0%~100%

值越高顏色越飽和

亮度(色彩的明暗度)

0%~100%

值越高色彩就越明亮

<h1 style="color: hsla(240, 100%, 50%, 0.3) ;">天氣真好</h1>

色相

CSS

背景

背景

background-image:設定背景圖片

background-color:設定背景顏色

background-image:url(圖檔名稱)

background-repeat:設定背景圖片重複排列的方式

  • repeat:水平及垂直方向重複排列並填滿指定元素。
  • no-repeat:不重複排列。
  • repeat-x:在水平方向重複排列。
  • repeat-y:在垂直方向重複排列。
  • space:水平及垂直方向重複排列,調整圖片間距。
  • round:水平及垂直方向重複排列,同時調整圖片大小。
background-color:blue

background-attachment 設定圖片是否隨著內容捲動

  • scroll:會隨內容捲動。
  • fixed:固定圖片,不會隨內容捲動。

背景

background-position:背景圖片起始位置

  • 長度:使用px、pt、pc、em、ex、in、cm、mm等度量單位(水平 垂直)。
  • 百分比:使用區塊寬度與高度百分比設定背景圖片,例如0% 0% 為左上角、100% 100% 為右下角、50% 50%為正中間。
  • left | center | right | top | center | bottom:

center center

center bottom

center top

left top

left bottom

left center

right top

right bottom

right center

背景

background-size:設定背景圖片大小

  • 長度|百分比|auto:使用px、pt、pc、em、ex、in、cm、mm等度量單位或百分比設定背景圖片的寬和高(寬 高)。

  • contain:背景圖片大小剛好符合HTML元素的區塊範圍。

  • cover:背景圖片大小覆蓋整個HTML元素的區塊範圍。

如果同時要設定很多個屬性,屬性之間用空白隔開即可。

若要設定多張背景圖,用逗號隔開即可。

背景

漸層屬性:

  1. linear-gradient():設定線性漸層

2. repeating-linear-gradient():​​設定重複線性漸層

background:linear-gradient(0deg, blue, pink )

(和線性漸層寫法一樣)

  • 角度:使用度數設定線性漸層的角度,例如90deg(90度)表示由左往右,0deg(0度)表示由下往上
  • 方向:可以使用to left(由右往左漸層)、to top、to top right等。
  • 色彩停止點:色彩的值與位置,例如yellow 0%表示起點為黃色,orange 100%表示終點為橘色。

語法:linear-gradient(角度|方向, 色彩停止點1, 色彩停止點2,…)

背景

漸層屬性:

3. radial-gradient():設定放射性漸層

4. repeating-radial-gradient():​​設定重複放射漸層

(和放射漸層寫法一樣)

background:radial-gradient(at right, white, lightgreen)
  • 形狀:漸層形狀可以是circle(圓形)或ellipse(橢圓形)。
  • 大小:使用下列設定值設定漸層大小。
    • 長度:以度量單位設定圓形或橢圓形的半徑。
    • closest-side:從圓形或橢圓形的中心點到區塊最近邊的距離當作半徑。
    • farthest-side:從圓形或橢圓形的中心點到區塊最遠邊的距離當作半徑。
    • closest-corner:從圓形或橢圓形中心點到區塊最近角的距離當作半徑。
    • farthest-corner:從圓形或果橢圓形的中心點到最遠角的距離當作半徑。
  • 位置:在at後面加上left、right、bottom、center設定的漸層位置。

語法:linear-gradient(角度|方向, 色彩停止點1, 色彩停止點2,…)

CSS

文字

color:設定文本顏色。

font-size:設定文字大小。

font-family:設定文字字型。

font-style:設定文字樣式。

font-weight:設定文字粗細。

font-variant:設定文字變化。

line-height:設定行高。

  • 長度
  • 百分比
度量單位 說明
px 像素
pt 點,1pt=1/72英吋
in 英吋
cm 公分
mm 毫米
  • italic:斜體
  • 絕對粗細:bold表示加粗,有100~900九個等級。
  • 相對粗細:bolder表示更粗,lighter表示更細。
  • small-cap:小型大寫字。
  • 數字:設定幾倍行高
  • 長度
  • 百分比

text-indent:首行縮排

text-align:文字對齊方式

text-spacing:字母間距

word-spacing:文字間距

text-transform:大小寫轉換方式

text-shadow:文字陰影

  • left
  • right
  • center(置中)
  • justify(左右對齊)
  • capitalize:單字的第一個字母大寫
  • uppercase:全部大寫
  • lowercase:全部小寫
  • full-width:全形
  • 水平位移
  • 垂直位移
  • 模糊
  • 色彩
<h1 style="text-shadow: 12px 8px 5px orange, -12px -8px 3px orange;">哈哈哈哈哈哈</h1>

CSS

Box Model

Box Model就是CSS將每個HTML元素看成一個矩形方塊,稱為Box。

  • 邊界:在框線之外。
  • 框線:加在留白外緣的線條。
  • 留白:環繞在網頁四周的部分。
  • 內容:網頁上的資料。

邊界屬性

留白屬性

margin-top:60%
/*可用長度|百分比|auto*/
padding-right:30pt

屬性速記

  • 一個值:上/下/左/右
  • 兩個值:上/下 左/右
  • 三個值:上 左/右 下
  • 四個值:上右下左
margin: 1cm 0.5cm

框線屬性

  • hidden(隱藏)
  • dotted(點線)
  • dashed(虛線)
  • solid(實線)
  • double(雙線)
border-bottom-style:dotted
  • groove(3D立體內凹)
  • ridge(3D立體外凸)
  • inset(內凹)
  • outset(外凸)

border-style

border-color

border-right-color:green

border-width

border-top-width:thick

設定HTML元素的框線寬度,有thin(細)、medium(中)、thick(粗)和「長度」等設定值。

屬性速記 

border: solid 10px hotpink

border-top:style|color|width

框線屬性

  • hidden(隱藏)
  • dotted(點線)
  • dashed(虛線)
  • solid(實線)
  • double(雙線)
border-bottom-style:dotted
  • groove(3D立體內凹)
  • ridge(3D立體外凸)
  • inset(內凹)
  • outset(外凸)

border-style

border-color

border-right-color:green

border-width

border-top-width:thick

設定HTML元素的框線寬度,有thin(細)、medium(中)、thick(粗)和「長度」等設定值。

屬性速記 

border: solid 10px hotpink

border-top:style|color|width

CSS

定位方式

position

設定Box的定位方式。

  • static:正常順序(預設值)。
  • relative:相對定位。
  • absolute:絕對定位。
  • fixed:固定定位。

top、right、bottom、left

設定Block Box的上下左右的位移量,可以放長度、百分比、auto(自動、預設值)等設定值。

top: 15%; right: 20%; bottom: 30%; left: 40%;
position: relative;
top: 30px;
left: 30px

float

float屬性可以將一個正常順序中的元素放在容器的左側或右側,而容器裡面的其他元素會環繞在該元素旁邊。

img{
    float: left;
}

CSS

媒體查詢

媒體查詢

  • all:全部裝置。
  • screen:螢幕(例如瀏覽器)。
@media screen and (max-width: 480px){
    body{background: hotpink;}
}
@media screen and (min-width: 481px) and (max-width: 768px){
    body{background: orange}
}
@media screen and (min-width: 769px){
    body{background: deepskyblue;}
}
<link rel="stylesheet" type="text/css" href="M.css" media="screen and (min-width:481px) and (max-width:768px)">

當可視區域小於等於480像素時(例如手機),就將網頁背景設定為亮粉色。

當可視區域介於481~768像素時(例如平板電腦),就將網頁背景設成橘色。

當可視區域大於等於769像素時(例如桌機或筆電),就將網頁背景設成深天空藍色。

當可視區域介於481~768像素時(例如平板電腦),就套用M.css樣式表。

可以針對不同的媒體類型量身訂做不同的樣式

架設網站

報名掃這裡!!!

聯課-網頁

By paige_lin

聯課-網頁

  • 198