📕
HTML & CSS
  • 網頁設計 - HTML & CSS
  • 1 簡介
    • 1.1 講者簡介
    • 1.2 課程須知
    • 1.3 網站前端簡介
    • 1.4 開發工具簡介
    • 1.5 第一個網頁
  • 2 HTML
    • 2.1 html 文件基本結構
    • 2.2 宣告、標籤、屬性、元素
    • 2.3 保留文字格式
    • 2.4 表示程式的標籤
    • 2.5 註解
    • 2.6 網頁標題
    • 2.7 中介資料(Meta Data)
    • 2.8 縮寫
    • 2.9 斷行與水平分隔線
    • 2.10 段落
    • 2.11 內容標題
    • 2.12 判別區塊與行內
    • 2.13 列表
    • 2.14 清單
    • 2.15 連結
    • 2.16 圖片
    • 2.17 獨立內容
    • 2.18 表格
    • 2.19 嵌入外站
    • 2.20 span 和 div
    • 2.21 引用
    • 2.22 有結構的語意元素
    • 2.23 結構驗證
    • 2.24 HTML Entity(實體)
    • 2.25 影片
    • 2.26 音訊
    • 2.27 其它標籤
    • 2.28 表單
    • 2.29 HTML 所有標籤
  • 3 CSS
    • 3.1 套用 CSS
    • 3.2 註解
    • 3.3 Selectors - 屬性及值
    • 3.4 Selectors - 符號
    • 3.5 Selectors - class 和 id
    • 3.6 關於優先權
    • 3.7 排版 - 關於 display 屬性
    • 3.8 排版 - 區塊模型(Box Model)
    • 3.9 排版 - vertical-align 對齊
    • 3.10 練習 - 固定式版型
    • 3.11 關於 Pseudo Element
    • 3.12 關於 Pseudo Class
    • 3.13 文字樣式
    • 3.14 關於溢載
    • 3.15 連結樣式
    • 3.16 列表樣式
    • 3.17 表格樣式
    • 3.18 背景樣式
    • 3.19 排版 - 關於定位(position)
    • 3.20 排版 - 關於浮動(float)
    • 3.21 關於不透明度 opacity
    • 3.22 關於 visibility、pointer-events
    • 3.23 關於 outline
    • 3.24 表單樣式
    • 3.25 效果 - 游標
    • 3.26 效果 - 圓角
    • 3.27 效果 - 區塊陰影
    • 3.28 效果 - 文字陰影
    • 3.29 效果 - 轉換 transform
    • 3.30 Flexbox 排版 - Container
    • 3.31 Flexbox 排版 - Items
    • 3.32 Column 多欄排版模式
    • 3.33 其它補充
  • 4 練習
  • 5 作業:網頁切版
  • 6 參考資料
Powered by GitBook
On this page
  • 浮動基本範例
  • 浮動的問題
  • 解法:使用 clear 及偽元素(Pseudo Element) ::after
  • 練習:使用浮動做固定二欄式排版
  1. 3 CSS

3.20 排版 - 關於浮動(float)

Previous3.19 排版 - 關於定位(position)Next3.21 關於不透明度 opacity

Last updated 1 year ago

決定一個元素,在某區域的浮動狀態,可設定的值有:

  • none:這是預設值

  • left

  • right

請先下載圖片(按右鍵另存新檔即可):

浮動基本範例

HTML:

<div class="first">
  <img src="./images/apple.png">
  這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容
</div>

CSS:

div.first{
  width: 500px;
  border:1px solid red;
}

結果(這是預設情況):

CSS 變更成:

div.first{
  width: 500px;
  border:1px solid red;
}

/* 新增以下 */
div.first img{
  float:left;
}

結果:

CSS 再變更成:

div.first{
  width: 500px;
  border:1px solid red;
}

/* 新增以下 */
div.first img{
  float: right;
}

結果:

浮動的問題

當浮動區域的高度超出父層的高度時,父層的高度並不會增加,例:

HTML:

<div class="first">
  <img src="./images/apple.png">
  這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是內容這是
</div>

CSS:

div.first{
  width: 500px;
  border:1px solid red;
}
div.first img{
  float:right;
}

結果:發現紅框的高度,並沒有跟著圖片增加,因為該圖已設定成浮動元素

解法:使用 clear 及偽元素(Pseudo Element) ::after

修改 CSS 如下:

div.first{
  width: 500px;
  border:1px solid red;
}

div.first::after{
  content: "abc"; /* 設定內容作示意 */
  display: block;
  clear: both;    /* 設定此元素的左右側,都不能有任何浮動元素,若有的話,就一直往下掉,掉到沒有為止 */
}

div.first img{
  float:right;
}

例:

練習:使用浮動做固定二欄式排版

提供結構:

<div class="parent_container">
  <div class="left_block">左側區塊<br>第二行</div>
  <div class="right_block">右側區塊</div>
</div>

參考作法: