影片與網頁影片嵌入

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
</head>

<body>    
    <!-- 10. <video>: 嵌入影片檔案. 
         ex: media/sayhi.mp4 -->

         <video src="media/sayhi.mp4" 
         controls loop muted poster="media/poster.png" width="800" >
            </video>
        <!-- 你不一定需要控制面板屬性<controls>,視用途決定 -->

    <!-- controls: 控制面板-->
    <!-- loop: 循環播放-->
    <!-- muted: 設置靜音-->
    <!-- poster: 封面圖片. ex: media/poster.png -->
    
    <br>
    
    <!-- 20. 透過 <iframe> 嵌入 youtube 影片. 
         ex: <https://youtu.be/ewZ_YWbIWXI> -->
    <!-- 在 youtube 影片上點右鍵 -> 複製嵌入程式碼 -->
    <iframe width="685" height="385" 
    src="<https://www.youtube.com/embed/ewZ_YWbIWXI>" 
    title="HTML Promo Video" frameborder="0" 
    allow="accelerometer; autoplay; clipboard-write; 
    encrypted-media; gyroscope; picture-in-picture; 
    web-share" referrerpolicy="strict-origin-when-cross-origin"
     allowfullscreen></iframe>
        
</body>

</html>

<TABLE>的應用

<!DOCTYPE html>
<html lang="en">

<head>
    <!-- 定義網頁的編碼為UTF-8 -->
    <meta charset="UTF-8">
 
    <style>
        /* 設置表格邊框分離 */
        table {
            border-collapse: separate;
        }
 
        /* 設置表格、表頭和單元格的邊框為黑色,且邊框寬度為 3px,
        內部填充為 15px,文字靠中對齊 */
        table,
        th,
        td {
            border: 3px solid black;
            padding: 15px;

            text-align: center;
            /* border的syntax長這樣:Syntax: <line-width> || <line-style> || <color>*/
        }
        /* css的註解長這樣 */
    </style>
</head>

<body>
    <!-- 參照 10_table.png 建立一個 4x5 的表格,第一列是標題列 -->
    
    <!--  (標題列)第一列: A   B   C   D  -->
    <!--         第二列: A1  B1  C1  D1  -->
    <!--         第三列: A2  B2  C2  D2  -->
    <!--         第四列: A3  B3  C3  D3  -->
    <!--         第五列: A4  B4  C4  D4  -->
             <table>
             <tr>
                 <th>A</th>
                 <th>B</th>
                 <th>C</th>
                 <th>D</th>
             </tr>
             <tr>
                 <td>A1</td>
                 <td>B1</td>
                 <td>C1</td>
                 <td>D1</td>
             </tr>
             <tr>
                 <td>A2</td>
                 <td>B2</td>
                 <td>C2</td>
                 <td>D2</td>
             </tr>
             <tr>
                 <td>A3</td>
                 <td>B3</td>
                 <td>C3</td>
                 <td>D3</td>
             </tr>
             <tr>
                 <td>A4</td>
                 <td>B4</td>
                 <td>C4</td>
                 <td>D4</td>
             </tr>
         </table>

    <!-- <table>: 標示表格 -->
    <!--    <tr>: 表格中的一列 -->
    <!--    <th>: 標題列中的一個儲存格 -->
    <!--    <td>: 資料列中的一個儲存格 -->

    <!-- step1. 加入 <table> -->
    <!-- step2. 在 <table> 內加入 5 個列: <tr> -->
    <!-- step3. 第一列 加入 4 個標題欄位: <th> -->
    <!-- step4. 第二~五列分別 加入 4 個欄位: <td> -->

    

</body>

</html>

進階表格設定(分割與嵌入)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <style>
        table {
            border-collapse: collapse;
        }

        table,
        th,
        td {
            /* 設置表格邊框為1像素實線黑色 */
            border: 1px solid black;
            /* 設置表格內邊距為10像素 */
            padding: 10px;

            /* 設置表格內文本居中對齊 */
            text-align: center;
        }
    </style>
</head>

<body>

    <!-- <th> 和 <td> 的屬性 -->
    <!-- colspan: 跨欄合併儲存格 -->
    <!-- rowspan: 跨列合併儲存格 -->
    
    
    <!-- 參照 20_合併儲存格.png 建立一個表格,第一列是標題列 -->
    
    <!--  (標題列)第一列: A   B   C   D  -->
    <!--         第二列: A1  B1  C1  D1  -->
    <!--         第三列: A2  B2  C2  D2  -->
    <!--         第四列: A3  B3  C3  D3  -->
    <!--         第五列: A4  B4  C4  D4  -->
             <table>

             <tr>
                 <!-- 定義表格標題單元格,合併兩欄 -->
                 <th colspan="2">A</th>
                 <!-- 定義表格標題單元格,合併兩欄 -->
                 <th colspan="2">B</th>
                 
             </tr>

             <tr>
                 <td  rowspan="3">A1</td>
                 <!-- 定義表格標題單元格,合併三列 -->
                 <td>B1</td>
                 <td>C1</td>
                 <td>D1</td>
             </tr>

             <tr>
                 <td>B2</td>
                 <td>C2</td>
                 <td>D2</td>
             </tr>

             <tr>
                 <td>B3</td>
                 <td>C3</td>
                 <td>D3</td>
             </tr>

    <!-- step1. 加入 <table> -->
    <!-- step2. 在 <table> 內加入 5 個列 <tr> -->
    <!-- step3. 第一列 加入 4 個標題欄位: <th> -->
    <!-- step4. 第二~五列分別 加入 4 個欄位: <td> -->
    <!-- step5. 合併跨列和跨欄的儲存格 -->
    <!-- step6. 將 "被合併的儲存格" 移除 -->

    

</body>

</html>

進階表格練習:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        table {
            /* 設置表格邊框合併 */
            border-collapse: collapse;
        }

        table,
        th,
        td {
            /* 設置表格、表頭和單元格的邊框樣式 */
            border: 1px solid #AC915D;
        }

        th {
            /* 設置表頭文字顏色 */
            color: #AC915D;
        }

        body 
        {
            /* 設置背景圖片 */
            background-image: url("img/backimg.jpg");
            /* 設置背景圖片不重複 */
            background-repeat: no-repeat;
            /* 假如讓背景圖片重複顯示,將會導致表格被拉伸放大網頁範圍,因而這邊選擇不重複 */

            .name {
                color: #AC915D;
                height: 30px;
            }

            .desc {
                color: white;
                width: 200px;
            }

            /* body{
            background-image: url("img/backimg.jpg");
            background-repeat: no-repeat;
            */
        }
        
        /* .opname{
            color: #AC915D;
            height: 30px;
        }
        .opdesc{
            color: white;
            width: 200px;
        }  */
    </style>
</head>

<body>
    <!-- 參照 30_table練習完成圖.png 建立一個表格 -->

    <!-- step1. 在<body>裡面放入一個表格 -->
    <!--  (標題列)第一列: A   B   C   D  -->
    <!--         第二列: A1  B1  C1  D1  -->
    <!--         第三列: A2  B2  C2  D2  -->
    <!--         第四列: A3  B3  C3  D3  -->
    <!--         第五列: A4  B4  C4  D4  -->
    <table>

        <tr>
            <th colspan="4">海賊王人物列表</th>

        </tr>

        <tr>
            <td rowspan="2" about="魯夫">
                <img src="img/op_01.jpg" alt="魯夫">
            </td>
            <td class="name">魯夫</td>
            <td rowspan="2" about="索隆">
                <img src="img/op_02.jpg" alt="索隆">
            </td>
            <td class="name">索隆</td>
        </tr>

        <tr>
            <td class="desc">左眼下方有疤痕,是為了向<br>
                「紅髮」傑克証明自己的勇<br>
                敢,自己用刀劃傷而留下的</td>

            <td class="desc">專長:迷路,和捲眉毛吵架</td>
        </tr>

        <tr>
            <td rowspan="2" about="娜美">
                <img src="img/op_03.jpg" alt="娜美">
            </td>
            <td class="name">娜美</td>
            <td rowspan="2" about="騙人布">
                <img src="img/op_04.jpg" alt="騙人布">
            </td>
            <td class="name">騙人布</td>
        </tr>

        <tr>
            <td class="desc">據說尾田是參考老婆的樣子畫出娜美的</td>

            <td class="desc">草帽海賊團的狙擊手</td>
        </tr>

        <!-- step2. 合併儲存格,並移除"被合併的儲存格" -->

        <!-- step3. 放入圖片和對應文字 -->
        <!-- 海賊王人物列表
        魯夫:左眼下方有疤痕,是為了向「紅髮」傑克証明自己的勇敢,自己用刀劃傷而留下的
        索隆:專長:迷路,和捲眉毛吵架
     娜美:據說尾田是參考老婆的樣子畫出娜美的
        騙人布:草帽海賊團的狙擊手 -->

        <!-- step4. 調整字型顏色: #AC915D、white -->
        <!-- step5. 欄位高度、欄位寬度:height: 30px (角色名)、width: 200px (說明欄) -->
        <!-- step6. 加入網頁背景底圖:background-image: url("img/backimg.jpg") -->
    </table>

</body>

</html>

完成圖:

image.png

使用者表格嘗試:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
</head>

<body>
    <p><a href="<https://www.w3schools.com/html/html_forms.asp>">HTML Forms</a></p>
    <p><a href="<https://www.w3schools.com/html/html_form_elements.asp>">HTML Form Elements</a></p>
    <hr>

    <!-- 試試看,<select>、<option> -->
        <!-- <select name=" " id=" "></select> -->
        <!-- 這邊的name是給sever端使用 -->

        <!-- 練習:選擇手機型號 -->

         <!-- 標籤元素,用於標示選擇手機型號的標題 -->
         <label for="phone">選擇手機型號:</label>
         <!-- 下拉選單元素,用於讓使用者選擇手機型號 -->
         <select id="phone">
             <!-- 下拉選單中的選項,代表不同的手機型號 -->
             <option>iphone 14</option>
             <option>iphone 15</option>

             <option>pixel 7</option>
             <option>pixel 8</option>
         </select>

         <br>
         <hr>
        
    <!-- 試試看,<select>、<optgroup>、<option> -->
        <!-- 標籤元素,用於標示選擇手機型號的標題 -->
        <label for="phone2">選擇手機型號:</label>
         
        <!-- 下拉選單元素,用於讓使用者選擇手機型號 -->
         <select id="phone2">
             <!-- 選項群組,標示為 "apple",包含兩個選項 -->
             <optgroup label="apple">
                <option>iphone 14</option>
                <option>iphone 15</option>
             </optgroup>
             
             <!-- 選項群組,標示為 "google pixel",包含兩個選項 -->
            <optgroup label="google pixel">
                 <option>pixel 7</option>
                <option>pixel 8</option>
            </optgroup>
         </select>
         <br>

         <hr>
         <br>

    <!-- 試試看,<datalist>、<option> -->
        <p>
            輸入喜歡的電影:<br>
         <input type="text" list="movies">
         <br>
         <!-- 定義一個datalist,用於提供輸入框的預定義選項 -->
         <datalist id="movies">
             <option value="蜘蛛人">
                 <option value="奇異博士">
                 <option value="復仇者聯盟">
            <!-- 當option元素有value屬性時,
             且在datalist元素中有對應的value值時不需要結束標籤 -->
            </datalist>
        </p>

    

    
</body>

</html>

依照此表格練習

20_form_input_types_完成圖.png

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
</head>

<body>
    <!-- 參照 20_form_input_types_完成圖.png 製作一份表單 -->

    <!-- step1: 標題 -->
    <!-- step2: 加入一個表單 <form> -->
    <!-- step3. 在<form>表單內加入<fieldset>群組並給予說明 -->
    <!-- step4. 在表單<form>內加入姓名和輸入框 -->
    <!-- step5. 在表單<form>內加入電話和輸入框 -->
    <!-- step6. 加入職業和單選框 -->
    <!-- step7. 加入年紀和單選框、交通工具和複選框,步驟和 step6. 類似 -->
    <h1>
        通勤工具使用者調查
    </h1>

    <form>  
        <fieldset>
            <legend>基本資料</legend>
            <!-- 輸入使用者姓名 -->
            <label for="UserName">姓名:</label>
            <input type="text" id="userName" name="userName" required>
            <br>
            <!-- 輸入使用者電話號碼 -->
            <label for="phone">電話:</label>
            <input type="tel" id="userPhone" name="userPhone" required>
            <br>
        </fieldset>
        <!-- 選擇職業 -->
        職業:
       <input name="job" type="radio" id="student">
       <label for="student">學生</label>
       <input name="job" type="radio" id="teacher">
       <label for="teacher">教師</label>
       <input name="job" type="radio" id="other">
       <label for="other">其他</label>
       <br>
       <!-- 選擇年齡範圍 -->
       年紀:
       <input type="radio" id="age20to30" name="age">
       <label for="age20to30">20-30</label>
       <input type="radio" id="age30to40" name="age">
       <label for="age30to40">30-40</label>
       <input type="radio" id="age40to50" name="age">
       <label for="age40to50">40-50</label>
       <input type="radio" id="over50" name="age">
       <label for="over50">50+</label>
       <br>
       <!-- 選擇交通工具 -->
       交通工具:
       <input type="checkbox" id="bike" name="transportation">
       <label for="bike">腳踏車</label>
       <input type="checkbox" id="motorcycle" name="transportation">
       <label for="motorcycle">機車</label>
       <input type="checkbox" id="ship" name="transportation">
       <label for="ship">船</label>
       <input type="checkbox" id="other" name="transportation">
       <label for="other">其他</label>
       <br>
       <!-- 提交表單 -->
       <input type="submit" value="送出">
    </form>

</body>

</html>

虛擬類別

一句話總結:能讓CSS幫JAVASCRIPT做一些簡單的互動

參考網址:CSS 偽類 --- CSS Pseudo-classes (w3schools.com)

虛擬類別(Pseudo-classes) 是 CSS 中的特別類別,用來定義元素在特定狀態下的樣式。它們不是實際存在於 HTML 標籤中的類別,而是根據元素的狀態或位置來應用樣式。

常見的虛擬類別