整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端基礎:HTML


          ntroduction

          HTML 是一種描述網頁語言, 指的是超文本標記語言 (Hyper Text Markup Language)。其中,超文本指的是網頁上可以包含圖片,視頻,連接信息。標記也叫做標簽,所以標簽書寫的是<內容>。語言就是一種交流工具,HTML 是用戶與瀏覽器之間交互工具。

          簡單說,HTML 是由瀏覽器解析執行的,它不會將 HTML 標簽展示出來,而是會解析 HTML 標簽,以特定效果展示出來。

          Syntax

          1. HTML 可以直接使用文本編輯器來編寫
          2. HTML 文件它的后綴名是 .htm 或 .html
          3. <html> 標簽它代表當前頁面是一個 HTML
          4. <head> 標簽中可以聲明 HTML 頁面的相關信息
          5. <body> 標簽中它主要是用于顯示頁面信息
          6. 標簽要有開始,有結束。開始標簽與結束標簽中的內容是標簽的內容,如果沒有標簽內容,可以讓標簽自關閉 <br/>。
          7. 大多數標簽它具有屬性,屬性值要使用引號引起來。
          8. HTML 本身是不區分大小寫的。
          <html>
              <head>HEAD</head>
              <body>BODY</body>
          </html>

          Tools

          可以使用 JetBrains WebStorm 或者 VS Code 進行開發。


          HTML Tags

          文件標簽

          <html> 代表當前書寫的是一個 HTML 文檔

          <head> 存儲的本頁面的一些重要的信息,它不會顯示

          標簽下有一個子標簽 <title> 它是用于定義頁面的標題的

          <body> 書寫的內容會顯示出來,屬性:1. text 用于設置文字顏色;2. bgcolor 用于設置頁面的背景色;3. background 用于設置頁面的背景圖片

          排版標簽

          HTML 注釋

          <!-- 注釋不會在瀏覽器中顯示 -->

          <br/> 標簽

          br 標簽就是一個換行功能標簽

          <p> 標簽

          在 p 標簽中的內容會在開始與結束之間產生一個空白行并且它會自動換行

          常用屬性 align 的作用是設置段落中的內容對齊方式,可取值有 left right center

          <hr> 標簽

          hr 標簽會在頁面上產生一個水平線

          常用屬性:

          align:可取值有 left right center 代表水平線位置

          size:代表水平線高度(厚度)

          width:代表水平線寬度

          color:水平線的顏色

          關于 HTML 中標簽屬性

          兩種方式:

          1. 直接設置值,默認單位是 px (像素) <HR WIDTH="200">
          2. 可以設置百分比 <HR WIDTH="35%">

          <div> 標簽

          Div 是一個塊標簽

          Div 與 CSS 結合,會更好對頁面進行排版

          <span> 標簽

          Span 標簽也是一個塊標簽Div 與 span 區別:Div 會自動換行,我們也叫這樣的標簽為行級元素Span 標簽它不會自動換行,我們也叫它為行內元素

          字體標簽

          <font> 標簽

          Font 標簽可以設置字體,字的大小及顏色

          常用屬性:

          Face:用于設置字體,例如 宋體 隸書 楷體

          Size:用于設置字的大小

          Color:用于設置字的顏色

          我們所看到的屏幕上所有的顏色都是由紅、綠、藍這三種基色調混合而成的。每一種顏色的飽和度和透明度都是可以變化的,用 0~255 的數值來表示。如純紅色表示為 (255,0,0),十六進制表示為 #FF0000。按這種表達方式,理論上我們可以得到 256 * 256 *256=16777216 種顏色。

          1. 使用十六進制方式,取值范圍 #000000 ~ #FFFFFF (黑色到白色)。當顏色值為 #cc3300 時,也可以使用 #c30 這種簡化的方式來表示。
          2. RGB 顏色表示法:RGB(x,y,z),x、y、z 是 0 ~ 255 之間的整數。
          3. 在線顏色選擇器:http://www.86y.org/code/colorpicker/color.html


          標題標記

          <h1> 最大 <h6> 最小,它們代表的是標題,可以使用 <b> <i> 對文字設置加粗或傾斜

          注意:在 HTML 中允許標簽進行嵌套的,但是一般都包裹嵌套,而不可以進行交叉嵌套

          清單標記(列表標記)

          有序清單:

          <!-- 有序列表 I II III-->
          <ol type="I" start="3">
              <li>張三</li>
              <li>李四</li>
              <li>王五</li>
          </ol>
          <!-- 無序列表 -->
          <ul type="square">
              <li>Java</li>
              <li>Python</li>
              <li>C#</li>
          </ul>

          圖形標簽

          <img> 可以讓我們在網頁引入一張圖片

          常用屬性

          1. src 代表的圖片的路徑
          2. width 圖片的寬度
          3. height 圖片的高度
          4. border 用于設置圖片的邊框
          5. alt 如果圖片不可以顯示時,默認顯示的文本信息
          6. align 圖片附件文字的對齊方式,取值有 :left right middle top bottom

          超連接標簽

          <a> 標簽可以實現跳轉到其它頁面操作。超鏈接內容不僅可以是文本,也可以是圖片等信息

          常用屬性

          1. href 代表的要跳轉的路徑
          2. name 屬性可以在本頁面設置一個錨點
          3. target 這個屬性規定在何處打開這個鏈接文檔,可取值:_blank _self _parent _top framename

          表格標簽

          <!-- 學習表格標簽 -->
          <table border="2" align="center" width="400px">
              <caption>學生成績單</caption>
              <tr>
                  <th>姓名</th>
                  <th>語文成績</th>
                  <th>數學成績</th>
                  <td colspan="2" align="center"><b>操作</b></td>
              </tr>
              <tr align="center">
                  <td>張三</td>
                  <td>99</td>
                  <td>100</td>
                  <td>修改</td>
                  <td>刪除</td>
              </tr>
              <tr align="center">
                  <td>李四</td>
                  <td>90</td>
                  <td>66</td>
                  <td>修改</td>
                  <td>刪除</td>
              </tr>
          </table>

          表單標簽

          通過表單可以將要提交的數據提交到指定的位置

          <!-- 表單:用戶注冊案例 -->
          <form name="form1" action="user/login" method="POST">
              <table border="1" width="64%" align="center">
                  <tr>
                      <td>用戶名:</td>
                      <td>
                          <input type="text" name="username">
                      </td>
                  </tr>
                  <tr>
                      <td>密碼:</td>
                      <td>
                          <input type="password" name="password">
                      </td>
                  </tr>
                  <tr>
                      <td>性別:</td>
                      <td>
                          <input type="radio" name="sex" checked="checked">男
                          <input type="radio" name="sex" >女
                      </td>
                  </tr>
                  <tr>
                      <td>地址:</td>
                      <td>
                          <select name="province">
                              <option value="0">--請選擇省--</option>
                              <option value="10001">廣東</option>
                              <option value="10002">上海</option>
                              <option value="10003">山東</option>
                          </select> 省
                          <select name="city">
                              <option>--請選擇市--</option>
                              <option value="1000301">廣州市</option>
                              <option>深圳市</option>
                              <option>東莞市</option>
                          </select> 市
                      </td>
                  </tr>
                  <tr>
                      <td>編程語言:</td>
                      <td>
                          <input type="checkbox" name="language" checked="checked">Java
                          <input type="checkbox" name="language">Python
                          <input type="checkbox" name="language">Go
                      </td>
                  </tr>
                  <tr>
                      <td>照片:</td>
                      <td>
                          <input type="file" name="image">
                      </td>
                  </tr>
                  <tr>
                      <td>自我介紹:</td>
                      <td>
                          <textarea name="remark" rows="5" cols="100"></textarea>
                      </td>
                  </tr>
                  <tr>
                      <td colspan="2" align="center">
                          <input type="submit" value="注冊"> 
                          <input type="reset" value="取消"> 
                      </td>
                  </tr>
              </table>
          </form>

          框架標簽

          通過框架標簽可以定制 HTML 頁面布局

          在 HTML 頁面上去描述框架信息時,不可以將 <frameset> 寫在 <body> 標簽中

          framesetTest.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>HTML 框架標簽</title>
              </head>
              <!-- rows 定義了三行:第一行 100 像素,第三行:100 像素;第二行:剩下的像素 -->
              <frameset rows="100, * , 100"> 
                  <frame name="topModule" src="./top.html"></frame>
                  <frameset cols="100, * ">
                      <frame name="menuModule" src="./menu.html"></frame>
                      <frame name="contentModule" src="./content.html"></frame>
                  </frameset>
                  <frame name="footModule" src="./foot.html"></frame>
              </frameset>
          </html>

          top.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>top</title>
              </head>
              <body>
                  <div>頭部信息</div>
              </body>
          </html>

          foot.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>footL</title>
              </head>
              <body>
                  <div>底部信息</div>
              </body>
          </html>

          menu.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>menu</title>
              </head>
              <body>
                  <div>菜單信息</div>
              </body>
          </html>

          content.html

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>content</title>
              </head>
              <body>
                  <div>內容顯示區</div>
              </body>
          </html>

          其它標簽與特殊字符

          <meta> 標簽

          <meta> 標簽必須寫在 <head> 標簽之間

          1. 它可以對頁面進行描述及熱詞設置,可以方便搜索引擎查找頁面
          2. 通過 meta 標簽設置 http 響應信息
          3. 通過 meta 標簽可以設置頁面的編碼,<meta http-equiv="Content-Type" content="text/html; charset=gbk">
          4. 通過 meta 標簽來設置頁面加載后在指定的時間后跳轉到指定的頁面,<meta http-equiv="refresh" content="5; url=http://www.baidu.com">

          <link>標簽

          使用 link 標簽來導入 CSS

          特殊字符

          詳情查看菜鳥教程:https://www.runoob.com/charsets/ref-html-ascii.html


          ?HTML DOM

          Introduction

          DOM, Document Object Model -- 文檔對象模型,是 HTML 和 XML 文檔的編程接口,以樹結構表達 HTML 文檔。

          DOM 是 W3C(萬維網聯盟)的標準。

          DOM 定義了訪問 HTML 和 XML 文檔的標準。

          W3C DOM 標準被分為 3 個不同的部分:

          • 核心 DOM - 針對任何結構化文檔的標準模型
          • XML DOM - 針對 XML 文檔的標準模型
          • HTML DOM - 針對 HTML 文檔的標準模型

          DOM Node

          DOM 是被視為節點樹的 HTML。

          根據 W3C 的 HTML DOM 標準,HTML 文檔中的所有內容都是節點:

          • 整個文檔是一個文檔節點
          • 每個 HTML 元素是元素節點
          • HTML 元素內的文本是文本節點
          • 每個 HTML 屬性是屬性節點
          • 注釋是注釋節點

          HTML DOM 將 HTML 文檔視作樹結構,這種結構被稱為節點樹。

          節點樹中的節點彼此擁有層級關系。常用父(parent)、子(child)和同胞(sibling)等術語來描述這些關系。父節點擁有子節點。同級的子節點被稱為同胞(兄弟或姐妹)。

          • 在節點樹中,頂端節點被稱為根(root)。
          • 每個節點都有父節點、除了根(它沒有父節點)。
          • 一個節點可擁有任意數量的子節點。
          • 同胞是擁有相同父節點的節點。

          DOM 方法 & 屬性

          HTML DOM 方法是可以在節點(HTML 元素)上執行的動作。

          HTML DOM 屬性是可以在節點(HTML 元素)設置和修改的值。

          可通過 JavaScript (以及其他編程語言)對 HTML DOM 進行訪問。所有 HTML 元素被定義為對象,而編程接口則是對象方法和對象屬性。方法是能夠執行的動作(比如添加或修改元素)。屬性是能夠獲取或設置的值(比如節點的名稱或內容)。

          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>DOM</title>
              </head>
              <body>
                  <div id="div1">
                      <p id="p1">Hello</p>
                      <p id="p2">Hello</p>
                  </div>
                  <script>
                      // 先獲取 P 元素
                      var element = document.getElementById("p1")
                      // 直接修改 p 元素的內容
                      element.innerHTML = "此時已是修改后的內容"
          
                      // 修改 p2 標簽的樣式
                      var ele = document.getElementById("p2")
                      ele.style.color="blue"
                      ele.style.fontFamily="宋體"
                      ele.style.fontSize="larger"
          
                      // 添加元素
                      // 創建一個p元素
                      var elementP = document.createElement("p")
                      // 創建一個內容
                      var nodeText = document.createTextNode("新加的 P 元素")
                      // 把文字內容添加到p元素中
                      elementP.appendChild(nodeText)
                      // 把新創建的p元素添加div1元素中
                      var div1 = document.getElementById("div1")
                      div1.appendChild(elementP)
          
                      // 插入添加新的元素
                      // 創建一個新的元素
                      var eleP = document.createElement("p")
                      // 創建一個內容
                      var noText = document.createTextNode("在 P1 元素前添加的新元素")
                      // 把文字內容添加到 p 元素中
                      eleP.appendChild(noText)
                      // 把新創建的 p 元素添加 div 1 元素中
                      var parentDiv1 = document.getElementById("div1")
                      // 獲取指定被添加的元素
                      var p1 = document.getElementById("p1")
                      // 在元素前添加;參數說明:1.要添加的元素;2.在那個元素之前添加(指定一個元素)
                      parentDiv1.insertBefore(eleP, p1)
          
                      // 刪除元素
                      // 獲取父元素
                      var pdiv1 = document.getElementById("div1")
                      var removep1 = document.getElementById("p1")
                      // 使用父元素刪除該元素
                      pdiv1.removeChild(removep1)
                  </script>
              </body>
          </html>

          DOM 事件

          HTML DOM 允許 JavaScript 對 HTML 事件作出反應。當事件發生時,可以執行 JavaScript,比如發生用戶點擊一個 HTML 元素的事件。

          如需在用戶點擊某個元素時執行代碼,可以把 JavaScript 代碼添加到 HTML 事件屬性中:onclick=JavaScript

          HTML 事件的例子:

          • 當用戶點擊鼠標時
          • 當網頁已加載時
          • 當圖片已加載時
          • 當鼠標移動到元素上時
          • 當輸入字段被改變時
          • 當 HTML 表單被提交時
          • 當用戶觸發按鍵時
          <!DOCTYPE html>
          <html lang="en">
              <head>
                  <meta charset="UTF-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <meta http-equiv="X-UA-Compatible" content="ie=edge">
                  <title>DOM 事件</title>
                  <!-- JavaScript 代碼必須寫在 script 中 -->
                  <script>
                      function onLoadFun(){
                          alert("已載入...");
                      }
                      // 文本框失去焦點事件
                      function onBlurFun(){
                          alert("此方法是文本框失去焦點事件,用來校驗此文本框輸入數據的")
                      }
                      // 表單被提交時執行事件
                      function onSubmitFun(){
                          alert("此表單已提交,這個方法也可以來作為數據校驗的");
                      }
                      // 元素被改變時觸發事件
                      function onChangeFun(){
                          alert("文本框元素已輸入新的數據")
                      }
                      // 當鼠標懸停在某一個元素上時執行的方法
                      function onMouseOverFun(element){
                          element.innerHTML = "鼠標已停在H1元素上了"
                      }
                      // 當鼠標離開某一個元素時執行事件
                      function onMouseOutFun(element){
                          element.innerHTML = "鼠標已離開H1元素上了..."
                      }
                  </script>
              </head>
              <!-- 需求:當頁面被載入時,執行一個代碼,彈框提示已載入 -->
              <body onload="onLoadFun()">
                  <!-- 需求:在一個表單中有用戶名錄入的文本框,當輸入完文本框的時候進行名稱校驗,提交的時候彈框顯示 -->
                  <form onsubmit="onSubmitFun()">
                      用戶名:<input id="username" name="username" onchange="onChangeFun()" >
                      <br/>
                      <button type="submit">提交</button>
                  </form>
                  <!-- 需求:有一個 H1 標簽元素,當鼠標移動到 H1 元素上時,修改文字,當鼠標移出元素時執行事件 -->
                  <h1 onmouseover="onMouseOverFun(this)" onmouseout="onMouseOutFun(this)">我是一個標題</h1>
              </body>
          </html>


          想了解更多,歡迎關注我的微信公眾號:Renda_Zhang

          果給你一些文本文字,要讓它變得美,你將會采用什么方法?用過PPT的人都知道,可以調整顏色,可以設定字體,可以進行對齊、縮進等操作。這些在PPT中常用的方法,在CSS中也是很容易實現的,代碼也簡單。

          10.1 文本顏色

          在CSS中,設置文本顏色,用color屬性,值可為16進制、一個RGB值或顏色名稱。十六進制用#號開始,后接#RGB,比如 #ff0000;RGB值為rgb(255,0,51)形式;顏色名稱名稱直接就是英語單詞,如red。

          樣色表ys2.css文件內容

          body {
                 color:#00ff00;
          }
          h3 {
           color:CadetBlue;
          
          }
          p {
              color:rgb(0,0,255);
          }

          HTML文件內容

          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="UTF-8">
              <title>字體顏色</title>
              <link rel="stylesheet" type="text/css" href="ys2.css"/>
          </head>
          <body>
          <h3>年底了,還能找工作不?</h3>
          <p>
              昨晚七點多收到通知,說老板抽查了幾次監控,發現一些人上班渾水摸魚玩手機,
          要召開緊急視頻會議,<br/>
              全體員工必須參會,視頻里老板很生氣,正火冒三丈的批評那些財務人員上班玩手機,
          說再不多提升自己,<br/>
              以后早晚被電腦和機器代替, 然后我忘記關麥了,說了句:機器能替你吃牢飯?<br/>
              唉,也不知道年底了工作好不好找。</p>
          </body>
          </html>

          輸出結果

          10.2 文本字體

          CSS字體屬性定義字體,加粗,大小,文字樣式。在用軟件時,你是不是見過宋體什么的,沒錯,那個就是字體了。在CSS中,可以使用Font Family:"宋體"的方式指定字體;樣式,就是加粗、傾斜那個,用font-style指定;大小則用font-size。

          /* ys2.css里的樣式表內容 */
          .f {
              font-family: "宋體";
              /* 加粗 */
              font-style: oblique;
              font-size: 40px;
          }
          
          <!--html文件內容-->
          <div class="f">
              牛的程序員,羊一樣的女孩
          </div>

          輸出結果

          10.3 對齊方式

          文本在元素內水平對齊,可以使用 text-align: 值的方式,center居中對齊,left居左對齊,right居右對齊;垂直居中對齊,可用vertical-align和line-height結合的方式進行指定,這個平時會經常用到,記下來。

          /*css文件里的內容*/
          
          /*水平居中*/
          .div-width {
              width: 800px;
          }
          
          .txt-left {
              text-align: left;
              color: aquamarine;
          }
          
          .txt-center {
              text-align: center;
              color: darkcyan;
          }
          
          .txt-right {
              text-align: right;
              color: darkgreen;
          }
          
          /*垂直居中*/
          .txt-vertical {
              border: 2px solid green;
              height: 100px;
              line-height: 100px;
              vertical-align: middle;
              text-align: center;
          }
          
          <!-- HTML文件里的內容 -->
          <div class="div-width">
              <!--水平居中-->
              <p class="txt-left">向左看齊</p>
              <p class="txt-center">居中對齊</p>
              <p class="txt-right">向右看齊</p>
              <!--垂直居中-->
              <div class="txt-vertical">垂直居中方法1</div>
              <div>垂直居中方法2</div>
          </div>

          輸出結果

          如果要對標簽進行水平居中的話,可以使用 margin: auto;用position: absolute; 屬性來對齊元素的話,有些瀏覽器不支持,所以不推薦。

          /* 在樣式表文件中 */
          .div-center {
              margin: auto;
              width: 50%;
              border: 1px solid green;
              height: 300px;
              text-align: center;
              vertical-align: center;
              line-height: 300px;
          }
          <!--在html文件中-->
          <div class="div-center">我站在,人海中間:div在Web居中,文字在div中居中</div>

          輸出結果

          10.4 文本之距

          為了讓閱讀舒服,在進行文本排版之時,會考慮字與字之間的間距,有行與行之間的距離,還有段落的縮進等。在CSS中,字符間距可用letter-spacing:值;行間距依然用line-height:值;段落字符縮進,用text-indent即可。溫馨提醒:text-indent只對div和p標簽有效。

          /* 在樣式表文件中 */
          .text-spacing {
              width: 900px;
              border: 1px solid green;
              letter-spacing: 50px;
          }
          
          p.row {
              line-height: 3.0em;
          }
          
          p.i {
              /*em是相對單位,2em即現在一個字大小的兩倍*/
              text-indent: 2em;
          }
          <!--在html文件中-->
          <div class="text-spacing">
              他說風雨中,這點痛算什么
          </div>
          <p class="row">
              秋季降溫快的特點,使得秋收、秋耕、秋種的“三秋”大忙顯得格外緊張。<br/>
              秋分棉花吐絮,煙葉也由綠變黃,正是收獲的大好時機。華北地區已開始播種冬麥,<br/>
              長江流域及南部廣大地區正忙著晚稻的收割,搶晴耕翻土地,準備油菜播種。
          </p>
          <p class="i">
              當我以為我無法繼續走下去時,我強迫自己要繼續前進。<br/>
              我的成功是基于我的堅持,并非運氣。<br/>
              努力,是為了跳出你厭惡的圈子。<br/>
              讀書,是為了遠離渣貨垃圾人。<br/>
              健身,是為了讓討厭的人心平氣和...
          </p>

          輸出結果


          好了,有關CSS文本或元素對齊的內容,老陳講完了,如果覺得對你有所幫助,希望老鐵能轉發點贊,讓更多的人看到這篇文章。你的轉發和點贊,就是對老陳繼續創作和分享最大的鼓勵。

          一個當了10年技術總監的老家伙,分享多年的編程經驗。想學編程的朋友,可關注:老陳說編程。分享Python,前端(小程序)、App和嵌入式方面的干貨。關注我,沒錯的。

          #前端##HTML5##CSS##程序員##Web#

          ,html+css基礎

          1-1

          Html和CSS的關系

          學習web前端開發基礎技術需要掌握:HTML、CSS、JavaScript語言。下面我們就來了解下這三門技術都是用來實現什么的:

          1. HTML是網頁內容的載體。內容就是網頁制作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。

          2. CSS樣式是表現。就像網頁的外衣。比如,標題字體、顏色變化,或為標題加入背景圖片、邊框等。所有這些用來改變內容外觀的東西稱之為表現。

          3. JavaScript是用來實現網頁上的特效效果。如:鼠標滑過彈出下拉菜單。或鼠標滑過表格的背景顏色改變。還有焦點新聞(新聞圖片)的輪換。可以這么理解,有動畫的,有交互的一般都是用JavaScript來實現的。

          1-2

          1, HTML標簽不區分大小寫,<h1>和<H1>是一樣的,但建議小寫,因為大部分程序員都以小寫為準。

          1-3

          一個HTML文件是有自己固定的結構的。

          <html>

          <head>...</head>

          <body>...</body>

          </html>

          代碼講解:

          1. <html></html>稱為根標簽,所有的網頁標簽都在<html></html>中。

          2. <head> 標簽用于定義文檔的頭部,它是所有頭部元素的容器。頭部元素有<title>、<script>、 <style>、<link>、 <meta>等標簽,頭部標簽在下一小節中會有詳細介紹。

          3. 在<body>和</body>標簽之間的內容是網頁的主要內容,如<h1>、<p>、<a>、<img>等網頁內容標簽,在這里的標簽中的內容會在瀏覽器中顯示出來。

          1-4

          1,下面這些標簽可用在 head 部分:

          <head>

          <title>...</title>

          <meta>

          <link>

          <style>...</style>

          <script>...</script>

          </head>

          2,代碼注釋不僅方便程序員自己回憶起以前代碼的用途,還可以幫助其他程序員很快的讀懂你的程序的功能,方便多人合作開發網頁代碼。

          語法:

          <!--注釋文字 -->

          3,CSS注釋代碼

          就像在Html的注釋一樣,在CSS中也有注釋語句:用/*注釋語句*/來標明(Html中使用<!--注釋語句-->)

          1-5

          1,語義化:說的通俗點就是:明白每個標簽的用途(在什么情況下我可以使用這個標簽才合理)比如,網頁上的文章的標題就得用標題標簽,網頁上的各個欄目的欄目名稱也可以使用標題標簽。

          2,語義化的作用

          1). 更容易被搜索引擎收錄。

          2). 更容易讓屏幕閱讀器讀出網頁內容。

          二,認識標簽(第一部分)

          2-1

          如果想在網頁上顯示文章,這時就需要<p>標簽了,把文章的段落放到<p>標簽中。

          語法:

          <p>段落文本</p>

          2-2

          <hx>標簽來制作文章的標題。

          標題標簽一共有6個,h1、h2、h3、h4、h5、h6分別為一級標題、二級標題、三級標題、四級標題、五級標題、六級標題。并且依據重要性遞減。<h1>是最高的等級。

          語法:

          <hx>標題文本</hx> (x為1-6)

          文章的標題前面已經說過了,可以使用標題標簽,另外網頁上的各個欄目的標題也可使用它們

          2-3

          有了段落又有了標題,現在如果想在一段話中特別強調某幾個文字,這時候就可以用到<em>或<strong>標簽。

          但兩者在強調的語氣上有區別:<em> 表示強調,<strong> 表示更強烈的強調。并且在瀏覽器中<em> 默認用斜體表示,<strong> 用粗體表示。兩個標簽相比,目前國內前端程序員更喜歡使用<strong>表示強調

          2-4

          <em>、<strong>、<span>的區別:

          1. <em>和<strong>標簽是為了強調一段話中的關鍵字時使用,它們的語義是強調。

          2. <span>標簽是沒有語義的,它的作用就是為了設置單獨的樣式用的,把一段話圈起來,然后用css設置樣式。

          2-5

          q標簽,短文本引用

          比如在你的網頁的文章里想引用某個作家的一句詩,這樣會使你的文章更加出彩,那么<q>標簽是你所需要的。

          語法:

          <q>引用文本</q>

          1,注意要引用的文本不用加雙引號,瀏覽器會對q標簽自動添加雙引號。

          2,注意這里用<q>標簽的真正關鍵點不是它的默認樣式雙引號(如果這樣我們不如自己在鍵盤上輸入雙引號就行了),而是它的語義:引用別人的話

          blockquote標簽,長文本引用

          <blockquote>的作用也是引用別人的文本。但它是對長文本的引用

          <q>標簽是對簡短文本的引用,比如說引用一句話就用到<q>標簽。

          語法:

          <blockquote>引用文本</blockquote>

          瀏覽器對<blockquote>標簽的解析是縮進樣式

          2-6

          換行標簽<br/>

          <br/>標簽作用相當于word文檔中的回車。

          分割線標簽<hr/>

          <hr/>標簽和<br/>標簽一樣也是一個空標簽,所以只有一個開始標簽,沒有結束標簽。

          <hr/>標簽的在瀏覽器中的默認樣式線條比較粗,顏色為灰色,可能有些人覺得這種樣式不美觀,沒有關系,這些外在樣式在我們以后學習了css樣式表之后,都可以對其修改。

          2-7

          html特殊字符

          空格: (;分號必不可少)

          2-8

          address標簽,為網頁加入地址信息

          語法:

          <address>地址信息</address>

          如:

          <address>北京市西城區德外大街10號</address>

          在瀏覽器上顯示的樣式為斜體,如果不喜歡斜體,當然可以,可以在后面的課程中使用css樣式來修改它<address>標簽的默認樣式

          2-9

          在介紹語言技術的網站中,必免不了在網頁中顯示一些計算機專業的編程代碼,當代碼為一行代碼時,你就可以使用<code>標簽了,如下面例子:

          <code>var i=i+300;</code>

          語法:

          <code>代碼語言</code>

          注意:在文章中一般如果要插入多行代碼時不能使用<code>標簽,如果是多行代碼,可以使用<pre>標簽。

          <pre> 標簽的主要作用:預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符。如果用以前的方法,回車需要輸入<br>簽,空格需要輸入 。

          注意:<pre> 標簽不只是為顯示計算機的源代碼時用的,在你需要在網頁中預顯示格式時都可以使用它,只是<pre>標簽的一個常見應用就是用來展示計算機的源代碼。

          三,認識標簽(第二部分)

          3-1

          1,無序列表

          ul-li是沒有前后順序的信息列表。

          語法:

          <ul>

          <li>信息</li>

          <li>信息</li>

          ......

          </ul>

          舉例:

          <ul>

          <li>精彩少年</li>

          <li>美麗突然出現</li>

          <li>觸動心靈的旋律</li>

          </ul>

          ul-li在網頁中顯示的默認樣式一般為:每項li前都自帶一個圓點

          2,有序列表

          語法:

          <ol>

          <li>信息</li>

          <li>信息</li>

          ......

          </ol>

          舉例:

          下面是一個熱點課程下載排行榜:

          <ol>

          <li>前端開發面試心法 </li>

          <li>零基礎學習html</li>

          <li>JavaScript全攻略</li>

          </ol>

          <ol>在網頁中顯示的默認樣式一般為:每項<li>前都自帶一個序號,序號默認從1開

          3-2

          <div>容器標簽

          在網頁制作過程過中,可以把一些獨立的邏輯部分劃分出來,放在一個<div>標簽中,這個<div>標簽的作用就相當于一個容器。

          語法:

          <div>…</div>

          確定邏輯部分:

          什么是邏輯部分?它是頁面上相互關聯的一組元素。如網頁中的獨立的欄目版塊,就是一個典型的邏輯部分。如下圖所示:圖中用紅色邊框標出的部分就是一個邏輯部分,就可以使用<div>標簽作為容器

          注釋:<div> 是一個塊級元素,也就是說,瀏覽器通常會在 div 元素前后放置一個換行符。

          3-3

          創建表格的五個元素:

          table、tbody、tr、th、td

          1、<table>…</table>:整個表格以<table>標記開始、</table>標記結束。

          2、<tbody>…</tbody>:當表格內容非常多時,表格會下載一點顯示一點,但如果加上<tbody>標簽后,這個表格就要等表格內容全部下載完才會顯示。如右側代碼編輯器中的代碼。(這個標簽基本上不怎么用了)

          3、<tr>…</tr>:表格的一行,所以有幾對tr 表格就有幾行。

          4、<td>…</td>:表格的一個單元格,一行中包含幾對<td>...<td/>,說明一行中就有幾列。

          5、<th>…</th>:表格的頭部的一個單元格,表格表頭。

          6、表格中列的個數,取決于一行中數據單元格的個數。

          表格還是需要添加一些標簽進行優化,可以添加標題和摘要

          <table summary="本表格記錄2012年到2013年庫存記錄,記錄包括U盤和耳機庫存量">

          <caption>2012年到2013年庫存記錄</caption>

          3-4

          1,使用<a>標簽,鏈接到別一個頁面

          使用<a>標簽可實現超鏈接,它在網頁制作中可以說是無處不在,只要有鏈接的地方,就會有這個標簽。

          語法:

          <a href=”目標網址”>鏈接顯示的文本</a>

          例如:

          <a >click here!</a>

          上面例子作用是單擊click here!文字,網頁鏈接到http://www.imooc.com這個網頁。

          3-5

          認識<img>標簽,為網頁插入圖片

          在網頁的制作中為使網頁炫麗美觀,肯定是缺少不了圖片,可以使用<img>標簽來插入圖片。

          語法:

          <img src="圖片地址" alt="下載失敗時的替換文本" title = "提示文本">

          舉例:

          <img src = "myimage.gif" alt = "My Image" title = "My Image" />

          講解:

          1、src:標識圖像的位置;

          2、alt:指定圖像的描述性文本,當圖像不可見時(下載不成功時),可看到該屬性指定的文本;

          3、title:提供在圖像可見時對圖像的描述(鼠標滑過圖片時顯示的文本);

          4、圖像可以是GIF,PNG,JPEG格式的圖像文件。

          四,表單標簽(與用戶進行交互)

          4-1

          表單是可以把瀏覽者輸入的數據傳送到服務器端,這樣服務器端程序就可以處理表單傳過來的數據。

          語法:

          <form method="傳送方式" action="服務器文件">

          講解:

          1.<form> :<form>標簽是成對出現的,以<form>開始,以</form>結束。

          2.action :瀏覽者輸入的數據被傳送到的地方,比如一個PHP頁面(save.php)。

          3.method : 數據傳送的方式(get/post)。

          4-2

          <input>輸入框

          文本輸入框、密碼輸入框

          當用戶要在表單中鍵入字母、數字等內容時,就會用到文本輸入框。文本框也可以轉化為密碼輸入框。

          語法:

          <form>

          <input type="text/password" name="名稱" value="文本" />

          </form>

          1、type:

          當type="text"時,輸入框為文本輸入框;

          當type="password"時, 輸入框為密碼輸入框。

          2、name:為文本框命名,以備后臺程序ASP 、PHP使用。

          3、value:為文本輸入框設置默認值。(一般起到提示作用)

          4-3

          文本域,支持多行文本輸入

          當用戶需要在表單中輸入大段文字時,需要用到文本輸入域。

          語法:

          <textarea rows="行數" cols="列數">文本</textarea>

          1、<textarea>標簽是成對出現的,以<textarea>開始,以</textarea>結束。

          2、cols :多行輸入域的列數。

          3、rows :多行輸入域的行數。

          4-4

          單選框,復選框

          語法:

          <input type="radio/checkbox" value="值" name="名稱" checked="checked"/>

          1、type:

          當type="radio"時,控件為單選框

          當type="checkbox"時,控件為復選框

          2、value:提交數據到服務器的值(后臺程序PHP使用)

          3、name:為控件命名,以備后臺程序ASP、PHP使用

          4、checked:當設置checked="checked"時,該選項被默認選中

          注意:同一組的單選按鈕,name取值一定要一致,這樣同一組的單選按鈕才可以起到單選的作用。

          4-5

          下拉列表框,節省空間

          下拉列表在網頁中也常會用到,它可以有效的節省網頁空間。既可以單選、又可以多選。

          語法:<option value="提交值">選項</option>

          提交值是向服務器提交的值,選項是顯示的值。

          <form action="save.php" method="post" >

          <label>愛好:</label>

          <select>

          <option value="看書">看書</option>

          <option value="旅游" selected="selected">旅游</option>

          <option value="運動">運動</option>

          <option value="購物">購物</option>

          </select>

          </form>

          4-6

          使用下拉列表框進行多選

          下拉列表也可以進行多選操作,在<select>標簽中設置multiple="multiple"屬性,

          就可以實現多選功能,進行多選時按下Ctrl鍵同時進行單擊,可以選擇多個選項。

          如下代碼:

          <form action="save.php" method="post" >

          <label>愛好:</label>

          <select multiple="multiple">

          <option value="看書">看書</option>

          <option value="旅游">旅游</option>

          <option value="運動">運動</option>

          <option value="購物">購物</option>

          </select>

          </form>

          4-7

          在表單中有兩種按鈕可以使用,分別為:提交按鈕、重置。

          1,提交按鈕:當用戶需要提交表單信息到服務器時,需要用到提交按鈕。

          語法:

          <input type="submit" value="提交">

          type:只有當type值設置為submit時,按鈕才有提交作用

          value:按鈕上顯示的文字

          2,重置按鈕,重置表單信息

          當用戶需要重置表單信息到初始時的狀態時,比如用戶輸入“用戶名”后,發現書寫有誤,可以使用重置按鈕使輸入框恢復到初始狀態。只需要把type設置為"reset"就可以。

          語法:

          <input type="reset" value="重置">

          type:只有當type值設置為reset時,按鈕才有重置作用

          value:按鈕上顯示的文字

          五,css樣式

          5-1

          認識css樣式

          CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內容在瀏覽器內的顯示樣式,如文字大小、顏色、字體加粗等。

          如下列代碼:

          p{

          font-size:12px;

          color:red;

          font-weight:bold;

          }

          使用CSS樣式的一個好處是通過定義某個樣式,可以讓不同網頁位置的文字有著統一的字體、字號或者顏色等。

          5-2

          CSS代碼語法

          css 樣式由選擇符和聲明組成,而聲明又由屬性和值組成

          選擇符{屬性:值}

          p{color:red;}

          選擇符:又稱選擇器,指明網頁中要應用樣式規則的元素,如本例中是網頁中所有的段(p)的文字將變成藍色,而其他的元素(如ol)不會受到影響。

          聲明:在英文大括號“{}”中的的就是聲明,屬性和值之間用英文冒號“:”分隔。當有多條聲明時,中間可以英文分號“;”分隔,如下所示:

          p{font-size:12px;color:red;}

          5-3

          從CSS 樣式代碼插入的形式來看基本可以分為以下3種:

          內聯式、嵌入式和外部式三種

          1,內聯式css樣式

          就是把css代碼直接寫在現有的HTML標簽中,如下面代碼:

          <p style="color:red">這里文字是紅色。</p>

          css樣式代碼要寫在style=""雙引號中,如果有多條css樣式代碼設置可以寫在一起,中間用分號隔開。如下代碼:

          <p style="color:red;font-size:12px">這里文字是紅色。</p>

          2,嵌入式css樣式,

          就是可以把css樣式代碼寫在<style type="text/css"></style>標簽之間。如下面代碼實現把三個<span>標簽中的文字設置為紅色:

          <style type="text/css">

          span{

          color:red;

          }

          </style>

          嵌入式css樣式必須寫在<style></style>之間,并且一般情況下嵌入式css樣式寫在<head></head>之間。

          3,外部式css樣式

          寫在單獨的一個文件中

          外部式css樣式(也可稱為外聯式)就是把css代碼寫一個單獨的外部文件中,這個css樣式文件以“.css”為擴展名,在<head>內(不是在<style>標簽內)使用<link>標簽將css樣式文件鏈接到HTML文件內,如下面代碼:

          <link href="base.css" rel="stylesheet" type="text/css" />

          注意:

          1、css樣式文件名稱以有意義的英文字母命名,如 main.css。

          2、rel="stylesheet" type="text/css" 是固定寫法不可修改。

          3、<link>標簽位置一般寫在<head>標簽之內。

          六,CSS選擇器

          每一條css樣式定義由兩部分組成,形式如下:

          選擇器{

          樣式;

          }

          在{}之前的部分就是“選擇器”,“選擇器”指明了{}中的“樣式”的作用對象,也就是“樣式”作用于網頁中的哪些元素

          6-1,標簽選擇器

          標簽選擇器其實就是html代碼中的標簽。如右側代碼編輯器中的<html>、<body>、<h1>、<p>、<img>。例如下面代碼:

          p{font-size:12px;line-height:1.6em;}

          上面的css樣式代碼的作用:為p標簽設置12px字號,行間距設置1.6em的樣式。

          6-2,類選擇器

          類選擇器在css樣式編碼中是最常用到的,如右側代碼編輯器中的代碼:可以實現為“膽小如鼠”、“勇氣”字體設置為紅色。

          語法:

          .類選器名稱{css樣式代碼;}

          注意:

          1、英文圓點開頭

          2、其中類選器名稱可以任意起名(但不要起中文噢)

          使用方法:

          第一步:使用合適的標簽把要修飾的內容標記起來,如下:

          <span>膽小如鼠</span>

          第二步:使用class="類選擇器名稱"為標簽設置一個類,如下:

          <span class="stress">膽小如鼠</span>

          第三步:設置類選器css樣式,如下:

          .stress{color:red;}/*類前面要加入一個英文圓點*/

          6-3,ID選擇器

          在很多方面,ID選擇器都類似于類選擇符,但也有一些重要的區別:

          1、為標簽設置id="ID名稱",而不是class="類名稱"。

          2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)。

          6-4,類和ID選擇器的區別

          相同點:可以應用于任何元素

          不同點:

          1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。

          下面代碼是正確的:

          <p>三年級時,我還是一個<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span class="stress">勇氣</span>來回答老師提出的問題。</p>

          而下面代碼是錯誤的:

          <p>三年級時,我還是一個<span id="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span id="stress">勇氣</span>來回答老師提出的問題。</p>

          2、可以使用類選擇器詞列表方法為一個元素同時設置多個樣式。我們可以為一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的(不能使用 ID 詞列表)。

          下面的代碼是正確的(完整代碼見右側代碼編輯器)

          .stress{

          color:red;

          }

          .bigsize{

          font-size:25px;

          }

          <p>到了<span class="stress bigsize">三年級</span>下學期時,我們班上了一節公開課...</p>

          上面代碼的作用是為“三年級”三個文字設置文本顏色為紅色并且字號為25px

          下面的代碼是不正確的(完整代碼見右側代碼編輯器)

          #stressid{

          color:red;

          }

          #bigsizeid{

          font-size:25px;

          }

          <p>到了<span id="stressid bigsizeid">三年級</span>下學期時,我們班上了一節公開課...</p>

          上面代碼不可以實現為“三年級”三個文字設置文本顏色為紅色并且字號為25px的作用。

          6-5,子選擇器

          還有一個比較有用的選擇器子選擇器,即大于符號(>),用于選擇指定標簽元素的子元素。如下面的代碼:

          .food>li{border:1px solid red;}

          這行代碼會使class名為food下的子元素li加入紅色實線邊框。

          6-6,包含(后代)選擇器

          包含選擇器,即加入空格,用于選擇指定標簽元素下的后輩元素。如右側代碼編輯器中的代碼:

          .first span{color:red;}

          請注意這個選擇器與子選擇器的區別

          1,子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代

          2,后代選擇器是作用于所有子后代元素。后代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。

          總結:>作用于元素的第一代后代,空格作用于元素的所有后代。

          6-7,通用選擇器

          通用選擇器是功能最強大的選擇器,它使用一個(*)號指定,它的作用是匹配html中任意標簽元素,如下使用下面代碼使用html中任意標簽元素字體顏色全部設置為紅色:

          * {color:red;}

          6-8,偽類選擇符

          更有趣的是偽類選擇符,為什么叫做偽類選擇符,它允許給html不存在的標簽設置樣式,比如說我們給html中一個標簽元素的鼠標滑過的狀態來設置字體顏色:

          a:hover{color:red;}

          這行代碼會使被<a></a>標簽包裹的文字內容中的“膽小如鼠”字體顏色在鼠標滑過時變為紅色。

          6-9,分組選擇符

          當你想為html中多個標簽元素設置同一個樣式時,可以使用分組選擇符(,),如下代碼為右側代碼編輯器中的h1、span標簽同時設置字體顏色為紅色:

          h1,span{color:red;}

          它相當于下面兩行代碼:

          h1{color:red;}

          span{color:red;}

          七,CSS的繼承、層疊和特殊性。

          7-1

          CSS的某些樣式是具有繼承性的,那么什么是繼承呢?繼承是一種規則,它允許樣式不僅應用于某個特定html標簽元素,而且應用于其后代。比如下面代碼:如某種顏色應用于p標簽,這個顏色設置不僅應用p標簽,還應用于p標簽中的所有子元素文本,這里子元素為span標簽。

          但注意有一些css樣式是不具有繼承性的。如border:1px solid red;

          7-2

          根據權值來判斷使用哪個css樣式

          瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。

          下面是權值的規則:

          標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:

          p{color:red;} /*權值為1*/

          p span{color:green;} /*權值為1+1=2*/

          .warning{color:white;} /*權值為10*/

          p span.warning{color:purple;} /*權值為1+1+10=12*/

          #footer .note p{color:yellow;} /*權值為100+10+1=111*/

          注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低

          7-3,層疊

          我們來思考一個問題:如果在html文件中對于同一個元素可以有多個css樣式存在并且這多個css樣式具有相同權重值怎么辦?好,這一小節中的層疊幫你解決這個問題。

          層疊就是在html文件中對于同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前后順序來決定,處于最后面的css樣式會被應用。

          如下面代碼:

          p{color:red;}

          p{color:green;}

          <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

          最后 p 中的文本會設置為green,這個層疊很好理解,理解為后面的樣式會覆蓋前面的樣式。

          所以前面的css樣式優先級就不難理解了:

          內聯樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)。

          7-4,重要性

          重要性

          我們在做網頁代碼的時,有些特殊的情況需要為某些樣式設置具有最高權值,怎么辦?這時候我們可以使用!important來解決。

          如下代碼:

          p{color:red!important;}

          p{color:green;}

          <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

          這時 p 段落中的文本會顯示的red紅色。

          注意:!important要寫在分號的前面

          八,CSS格式化排版

          8-1

          文字排版

          1,文字排版--字體

          我們可以使用css樣式為網頁中的文字設置字體、字號、顏色等樣式屬性。下面我們來看一個例子,下面代碼實現:為網頁中的文字設置字體為宋體。

          body{font-family:"宋體";}

          這里注意不要設置不常用的字體,因為如果用戶本地電腦上如果沒有安裝你設置的字體,就會顯示瀏覽器默認的字體。(因為用戶是否可以看到你設置的字體樣式取決于用戶本地電腦上是否安裝你設置的字體。)

          2,文字排版--字號、顏色

          可以使用下面代碼設置網頁中文字的字號為12像素,并把字體顏色設置為#666(灰色):

          body{font-size:12px;color:#666}

          3,文字排版--粗體

          我們還可以使用css樣式來改變文字的樣式:粗體、斜體、下劃線、刪除線,可以使用下面代碼實現設置文字以粗體樣式顯示出來。

          p span{font-weight:bold;}

          4,文字排版--斜體

          以下代碼可以實現文字以斜體樣式在瀏覽器中顯示:

          p a{font-style:italic;}

          <p>三年級時,我還是一個<a>膽小如鼠</a>的小女孩。</p>

          5,文字排版--下劃線

          有些情況下想為文字設置為下劃線樣式,這樣可以在視覺上強調文字,可以使用下面代碼來實現:

          p a{text-decoration:underline;}

          <p>三年級時,我還是一個<a>膽小如鼠</a>的小女孩。</p>

          刪除線,在電商網站上經常見。

          p a{text-decoration:line-through;}

          8-2

          段落排版

          1,段落排版--縮進

          中文文字中的段前習慣空兩個文字的空白,這個特殊的樣式可以用下面代碼來實現:

          p{text-indent:2em;}

          注意:2em的意思就是文字的2倍大小。

          2,段落排版--行間距

          這一小節我們來學習一下另一個在段落排版中起重要作用的行間距屬性(line-height),如下代碼實現設置段落行間距為1.5倍。

          p{line-height:1.5em;}

          3,段落排版--字間距、字母間距

          文字間隔、字母間隔設置:

          如果想在網頁排版中設置文字間隔或者字母間隔就可以使用 letter-spacing來實現,如下面代碼:

          h1{

          letter-spacing:50px;

          }

          ...

          <h1>了不起的蓋茨比</h1>

          注意:這個樣式使用在英文單詞時,是設置字母與字母之間的間距。

          單詞間距設置:

          如果我想設置英文單詞之間的間距呢?可以使用word-spacing來實現。如下代碼:

          h1{

          word-spacing:50px;

          }

          ...

          <h1>welcome to imooc!</h1>

          九,CSS盒模型

          9-1

          元素分類

          在講解CSS布局之前,我們需要提前知道一些知識,在CSS中,html中的標簽元素大體被分為三種不同的類型:塊狀元素、內聯元素和內聯塊狀元素。

          常用的塊狀元素有:

          <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

          常用的內聯元素有:

          <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

          常用的內聯塊狀元素有:

          <img>、<input>

          9-2

          元素分類--塊級元素

          什么是塊級元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是塊級元素。設置display:block就是將元素顯示為塊級元素。如下代碼就是將行內元素a轉換為塊狀元素,從頁使用a元素具有塊狀元素特點。

          a{display:block;}

          塊級元素特點:

          1、每個塊級元素都從新的一行開始,并且其后的元素也另起一行。(真霸道,一個塊級元素獨占一行)

          2、元素的高度、寬度、行高以及頂和底邊距都可設置。

          3、元素寬度在不設置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。

          9-3

          元素分類--行內元素

          在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的行內元素(inline)元素。當然塊狀元素也可以通過代碼display:inline將元素設置為行內元素。

          行內元素特點:

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高及頂部和底部邊距不可設置;

          3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

          9-4

          元素分類--內聯塊狀元素

          內聯塊狀元素(inline-block)就是同時具備內聯元素、塊狀元素的特點,代碼display:inline-block就是將元素設置為內聯塊狀元素。(css2.1新增),<img>、<input>標簽就是這種內聯塊狀標簽。

          inline-block元素特點:

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高以及頂和底邊距都可設置。

          9-5

          盒模型--邊框(一)

          盒子模型的邊框就是圍繞著內容及補白的線,這條線你可以設置它的粗細、樣式和顏色(邊框三個屬性)。

          如下面代碼為div來設置邊框粗細為2px、樣式為實心的、顏色為紅色的邊框:

          div{

          border:2px solid red;

          }

          上面是border代碼的縮寫形式,可以分開寫:

          div{

          border-width:2px;

          border-style:solid;

          border-color:red;

          }

          注意:

          1、border-style(邊框樣式)常見樣式有:

          dashed(虛線)| dotted(點線)| solid(實線)。

          2、border-color(邊框顏色)中的顏色可設置為十六進制顏色,如:

          border-color:#888;//前面的井號不要忘掉。

          9-6

          盒模型--邊框(二)

          現在有一個問題,如果有想為p標簽單獨設置下邊框,而其它三邊都不設置邊框樣式怎么辦呢?css樣式中允許只為一個方向的邊框設置樣式:

          div{border-bottom:1px solid red;}

          同樣可以使用下面代碼實現其它三邊上、右、左邊框的設置:

          border-top:1px solid red;

          border-right:1px solid red;

          border-left:1px solid red;

          9-7

          盒模型--邊界

          元素與其它元素之間的距離可以使用邊界(margin)來設置。邊界也是可分為上、右、下、左。如下代碼:

          div{margin:20px 10px 15px 30px;}

          也可以分開寫:

          div{

          margin-top:20px;

          margin-right:10px;

          margin-bottom:15px;

          margin-left:30px;

          }

          如果上下左右的邊界都為10px;可以這么寫:

          div{ margin:10px;}

          如果上下邊界一樣為10px,左右一樣為20px,可以這么寫:

          div{ margin:10px 20px;}

          總結一下:padding和margin的區別,padding在邊框里,margin在邊框外。

          9-8

          盒模型--填充

          元素內容與邊框之間是可以設置距離的,稱之為填充。填充也可分為上、右、下、左。如下代碼:

          div{padding:20px 10px15px 30px;}

          順序一定不要搞混。可以分開寫上面代碼:

          div{

          padding-top:20px;

          padding-right:10px;

          padding-bottom:15px;

          padding-left:30px;

          }

          如果上、右、下、左的填充都為10px;可以這么寫

          div{padding:10px;}

          如果上下填充一樣為10px,左右一樣為20px,可以這么寫:

          div{padding:10px 20px;}

          9-9

          盒模型代碼簡寫

          還記得在講盒模型時外邊距(margin)、內邊距(padding)和邊框(border)設置上下左右四個方向的邊距是按照順時針方向設置的:上右下左。具體應用在margin和padding的例子如下:

          margin:10px 15px 12px 14px;/*上設置為10px、右設置為15px、下設置為12px、左設置為14px*/

          通常有下面三種縮寫方法:

          1、如果top、right、bottom、left的值相同,如下面代碼:

          margin:10px 10px 10px 10px;

          可縮寫為:

          margin:10px;

          2、如果top和bottom值相同、left和 right的值相同,如下面代碼:

          margin:10px 20px 10px 20px;

          可縮寫為:

          margin:10px 20px;

          3、如果left和right的值相同,如下面代碼:

          margin:10px 20px 30px 20px;

          可縮寫為:

          margin:10px 20px 30px;

          注意:padding、border的縮寫方法和margin是一致的。

          9-10

          顏色值縮寫

          關于顏色的css樣式也是可以縮寫的,當你設置的顏色是16進制的色彩值時,如果每兩位的值相同,可以縮寫一半。

          例子1:

          p{color:#000000;}

          可以縮寫為:

          p{color: #000;}

          例子2:

          p{color: #336699;}

          可以縮寫為:

          p{color: #369;}

          十,CSS布局模型

          10-1

          css布局模型

          清楚了CSS 盒模型的基本概念、 盒模型類型, 我們就可以深入探討網頁布局的基本模型了。布局模型與盒模型一樣都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基礎之上,又不同于我們常說的 CSS 布局樣式或 CSS 布局模板。如果說布局模型是本,那么 CSS 布局模板就是末了,是外在的表現形式。

          CSS包含3種基本的布局模型,用英文概括為:Flow、Layer 和 Float。

          在網頁中,元素有三種布局模型:

          1、流動模型(Flow)

          2、浮動模型 (Float)

          3、層模型(Layer)

          10-2

          流動模型(一)

          流動(Flow):自上而下。

          先來說一說流動模型,流動(Flow)是默認的網頁布局模式。也就是說網頁在默認狀態下的 HTML 網頁元素都是根據流動模型來分布網頁內容的。

          流動布局模型具有2個比較典型的特征:

          第一點,塊狀元素都會在所處的包含元素內自上而下按順序垂直延伸分布,因為在默認狀態下,塊狀元素的寬度都為100%。實際上,塊狀元素都會以行的形式占據位置。如右側代碼編輯器中三個塊狀元素標簽(div,h1,p)寬度顯示為100%。

          第二點,在流動模型下,內聯元素都會在所處的包含元素內從左到右水平分布顯示。(內聯元素可不像塊狀元素這么霸道獨占一行)

          右側代碼編輯器中內聯元素標簽a、span、em、strong都是內聯元素。

          10-3浮動模型

          塊狀元素這么霸道都是獨占一行,如果現在我們想讓兩個塊狀元素并排顯示,怎么辦呢?不要著急,設置元素浮動就可以實現這一愿望。任何元素在默認情況下是不能浮動的,但可以用CSS定義為浮動,如div、p、table、img等元素都可以被定義為浮動。如下代碼可以實現兩個div元素一行顯示。

          div{

          width:200px;

          height:200px;

          border:2px red solid;

          float:left;

          }

          <div id="div1"></div>

          <div id="div2"></div>

          注意:設置浮動的同時一定要先設置塊狀元素的寬度,且需要浮動的幾個元素寬度加起來一定要小于容器元素的寬度。

          10-4什么是層模型?

          什么是層布局模型?層布局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣,每個圖層能夠精確定位操作,但在網頁設計領域,由于網頁大小的活動性,層布局沒能受到熱捧。但是在網頁上局部使用層布局還是有其方便之處的。下面我們來學習一下html中的層布局。

          如何讓html元素在網頁中精確定位,就像圖像軟件PhotoShop中的圖層一樣可以對每個圖層能夠精確定位操作。CSS定義了一組定位(positioning)屬性來支持層布局模型。

          層模型有三種形式:

          1、絕對定位(position: absolute)

          2、相對定位(position: relative)

          3、固定定位(position: fixed)

          1,層模型--絕對定位(相對于父類)

          如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口。

          如下面代碼可以實現div元素相對于瀏覽器窗口向右移動100px,向下移動50px。

          div{

          width:200px;

          height:200px;

          border:2px red solid;

          position:absolute;

          left:100px;

          top:50px;

          }

          <div id="div1"></div>

          2,層模型--相對定位(相對于以前)

          如果想為元素設置層模型中的相對定位,需要設置position:relative(表示相對定位),它通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置。相對定位完成的過程是首先按static(float)方式生成一個元素(并且元素像層一樣浮動了起來),然后相對于以前的位置移動,移動的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動。

          如下代碼實現相對于以前位置向下移動50px,向右移動100px;

          #div1{

          width:200px;

          height:200px;

          border:2px red solid;

          position:relative;

          left:100px;

          top:50px;

          }

          <div id="div1"></div>

          3,層模型--固定定位(相對于網頁窗口)

          固定住某一坐標。

          fixed:表示固定定位,與absolute定位類型類似,但它的相對移動的坐標是視圖(屏幕內的網頁窗口)本身。由于視圖本身是固定的,它不會隨瀏覽器窗口的滾動條滾動而變化,除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變瀏覽器窗口的顯示大小,因此固定定位的元素會始終位于瀏覽器窗口內視圖的某個位置,不會受文檔流動影響,這與background-attachment:fixed?屬性功能相同。以下代碼可以實現相對于瀏覽器視圖向右移動100px,向下移動50px。并且拖動滾動條時位置固定不變。

          #div1{

          width:200px;

          height:200px;

          border:2px red solid;

          position:fixed;

          left:100px;

          top:50px;

          }

          10-5Relative與Absolute組合使用

          小伙伴們學習了12-6小節的相對定位的方法:使用position:absolute可以實現被設置元素相對于瀏覽器(body)設置定位以后,大家有沒有想過可不可以相對于其它元素進行定位呢?答案是肯定的,當然可以。使用position:relative來幫忙,但是必須遵守下面規范:

          1、參照定位的元素必須是相對定位元素的前輩元素:

          <div id="box1"><!--參照定位的元素-->

          <div id="box2">相對參照元素進行定位</div><!--相對定位元素-->

          </div>

          從上面代碼可以看出box1是box2的父元素(父元素當然也是前輩元素了)。

          2、參照定位的元素必須加入position:relative;

          #box1{

          width:200px;

          height:200px;

          position:relative;

          }

          3、定位元素加入position:absolute,便可以使用top、bottom、left、right來進行偏移定位了。

          #box2{

          position:absolute;

          top:20px;

          left:30px;

          }

          這樣box2就可以相對于父元素box1定位了(這里注意參照物就可以不是瀏覽器了,而可以自由設置了)。

          有任何關于編程的問題都可以私信我,我看到后會及時解答。

          編程小石頭,為分享干貨而生!據說,每個年輕上進,顏值又高的互聯網人都關注了編程小石頭。


          主站蜘蛛池模板: 日本在线视频一区二区| 人妻视频一区二区三区免费| 男人的天堂av亚洲一区2区| 亚洲av高清在线观看一区二区| 国产精品美女一区二区| 88国产精品视频一区二区三区| 激情亚洲一区国产精品| 日韩国产免费一区二区三区| 国产内射999视频一区| 国产在线视频一区二区三区98| 国产三级一区二区三区| 香蕉视频一区二区三区| 无码一区二区三区老色鬼| 精品一区二区三人妻视频| 视频一区二区三区人妻系列| 国产在线一区二区| 无码日本电影一区二区网站| 性色av无码免费一区二区三区 | 国产婷婷色一区二区三区| 性色AV一区二区三区| 无码毛片一区二区三区视频免费播放| 在线日韩麻豆一区| 亚洲成AV人片一区二区| 一区二区视频传媒有限公司| 久久久国产一区二区三区| 日韩在线不卡免费视频一区| 国产在线观看一区二区三区| 亚洲电影一区二区三区| 精品无码综合一区| 国产乱码精品一区二区三区中| 全国精品一区二区在线观看| 精品国产一区AV天美传媒| 岛国无码av不卡一区二区| 国产成人av一区二区三区在线 | 国产丝袜美女一区二区三区| 在线观看中文字幕一区| 亚洲一区二区三区久久| 中文字幕一区二区三区视频在线| 日韩精品一区二区三区中文| 国产福利电影一区二区三区,日韩伦理电影在线福 | 日韩免费一区二区三区在线播放|