# 第 17 章 CSS 邊框與背景[下]
學習要點:
1.設置背景
主講教師:李炎恢
本章主要探討 HTML5?中 CSS?邊框和背景,通過邊框和背景的樣式設置,給元素增加更豐富的外觀。
**一.設置背景**
盒模型的尺寸可以通過兩種方式實現可見性,一種就是之前的邊框,還有一種就是背景。 CSS 背景設置的樣式表如下:
| 屬性 | 說明 | CSS 版本 |
| --- | --- |
| background-color | 背景的顏色 | 1 |
| background-image | 背景的圖片 | 1/3 |
| background-repeat | 背景圖片的樣式 | 1/3 |
| background-size | 背景圖像的尺寸 | 3 |
| background-position | 背景圖像的位置 | 1 |
| background-attachment | 背景圖片的滾動 | 1/3 |
| background-clip | 背景圖片的裁剪 | 3 |
| background-origin | 背景圖片起始點 | 3 |
| background | 背景圖片簡寫方式 | 1 |
**1.background-color**
| 值 | 說明 | CSS 版本 |
| --- | --- |
| 顏色 | 設置背景顏色為指定色 | 1 |
| transparent | 設置背景顏色為透明色 | 1 |
```
div { background-color: silver;
}
```
解釋:設置元素的背景顏色。屬性值是顏色值。
```
div b { background-color: transparent;
}
```
解釋:默認值為 transparent,為透明的意思。這樣<div>內部的元素就會繼承<div>的背景色。一般來說這個屬性使用頻率很低,原因是不需要改變色彩時就默認,需要改變色彩時又是顏色值。
```
body { background-color: silver;
}
```
解釋:在<body>元素下可以設置整個頁面的背景色。
**2.background-image**
| **值** | **說明** | **CSS 版本** |
| --- | --- |
| none | 取消背景圖片的設置 | 1 |
| url | 通過 URL?設置背景圖片 | 1 |
```
body { background-image: url(loading.gif);
}
```
解釋:url?里面是圖片的路徑,設置整個頁面以這個圖片為背景,如果圖片不足以覆蓋,則復制擴展。
```
div { background-image: none;
}
```
解釋:如果多個 div?批量設置了背景,而其中某一個不需要背景,可以單獨設置 none?值取消背景。
在 CSS3?中,背景圖片還設置了比如線性、放射性等漸變方式。但由于支持度的問題,比如 IE9?尚未支持。我們把這些的新特性放到獨立的課程中講解。
**3.background-repeat**
| **值** | **說明** | **CSS 版本** |
| --- | --- |
| repeat-x | 水平方向平鋪圖像 | 1 |
| repeat-y | 垂直方向平鋪圖像 | 1 |
| repeat | 水平和垂直方向同時平鋪圖像 | 1 |
| no-repeat | 禁止平鋪圖像 | 1 |
```
body { background-image: url(loading.gif); background-repeat: no-repeat;
}
```
解釋:讓背景圖片只顯示一個,不平鋪。CSS3?還提供了兩個值,由于支持度不佳,這里忽略。
**4.background-position**
| **值** | **說明** | **CSS 版本** |
| --- | --- |
| top | 將背景圖片定位到元素頂部 | 1 |
| left | 將背景圖片定位到元素左部 | 1 |
| right | 將背景圖片定位到元素右部 | 1 |
| bottom | 將背景圖片定位到元素底部 | 1 |
| center | 將背景圖片定位到元素中部 | 1 |
| 長度值 | 使用長度值偏移圖片的位置 | 1 |
| 百分數 | 使用百分數偏移圖片的位置 | 1 |
```
body { background-image: url(loading.gif); background-repeat: no-repeat; background-position: top;
}
```
解釋:將背景圖片置于頁面上方,如果想置于左上方則值為:top left。
```
body { background-image: url(loading.gif); background-repeat: no-repeat; background-position: 20px 20px;
}
```
解釋:使用長度值或百分數,第一值表示左邊,第二個值表示上邊。
**5.background-size**
| 值 | 說明 | CSS 版本 |
| --- | --- |
| auto | 默認值,圖像以本尺寸顯示 | 3 |
| cover | 等比例縮放圖像,使圖像至少覆蓋容器,但有可能超出容器 | 3 |
| contain | 等比例縮放圖像,使其寬度、高度中較大者與容器橫向或縱向重合 | 3 |
| 長度值 | CSS 長度值,比如?px、em | 3 |
| 百分數 | 比如:100% | 3 |
```
body { background-image: url(loading.gif); background-size: cover;
}
```
解釋:使用 cover?相當于 100%,全屏鋪面一張大圖,這個值非常實用。在等比例放大縮小的過程中,可能會有背景超出,當然,這點無傷大雅。
```
div { background-image: url(loading.gif); background-size: contain;
}
```
解釋:使用 contain?表示,盡可能讓圖片完整的顯示在元素內。
```
body { background-image: url(loading.gif); background-size: 240px 240px;
}
```
解釋:長度值的用法,分別表示長和高。
**6.background-attachment**
| 值 | 說明 | CSS 版本 |
| --- | --- |
| scroll | 默認值,背景固定在元素上,不會隨著內容一起滾動 | 1 |
| fixed | 背景固定在視窗上,內容滾動時背景不動 | 1 |
```
body { background-image: url(loading.gif); background-attachment: fixed;
}
```
解釋:fixed?屬性會導致背景產生水印效果,拖動滾動條而背景不動。
**7.background-origin**
| **值** | **說明** | **CSS 版本** |
| --- | --- |
| border-box | 在元素盒子內部繪制背景 | 3 |
| padding-box | 在內邊距盒子內部繪制背景 | 3 |
| content-box | 在內容盒子內部繪制背景 | 3 |
```
div { width: 400px; height: 300px; border: 10px dashed red; padding: 50px; background-image: url(img.png); background-repeat: no-repeat; background-origin: content-box;
}
```
解釋:設置背景起始位置。
**8.background-clip**
| **值** | **說明** | **CSS 版本** |
| --- | --- |
| border-box | 在元素盒子內部裁剪背景 | 3 |
| padding-box | 在內邊距盒子內部裁剪背景 | 3 |
| content-box | 在內容黑子內部裁剪背景 | 3 |
```
div { width: 400px; height: 300px; border: 10px dashed red; padding: 50px; background-image: url(img.png); background-repeat: no-repeat; background-origin: border-box; background-clip: padding-box;
}
```
解釋:在內邊距盒子內部裁剪背景。
**9.background**
```
div { width: 400px; height: 300px; border: 10px dashed red; padding: 50px; background: silver url(img.png) no-repeat scroll left top/100% border-box content-box;
}
```
解釋:完整的簡寫順序如下:
[background-color]
[background-image]
[background-repeat]
[background-attachment]
[background-position]/[background-size]
[background-origin]
[background-clip]
- 介紹
- HTML/CSS 教程
- 第 1 章 HTML5 概述
- 第 2 章 基本格式
- 第 3 章 文本元素
- 第 4 章 超鏈接和路徑
- 第 5 章 分組元素
- 第 6 章 表格元素
- 第 7 章 文檔元素
- 第 8 章 嵌入元素
- 第 9 章 音頻和視頻
- 第 10 章 表單元素[上]
- 第 10 章 表單元素[中]
- 第 10 章 表單元素[下]
- 第 11 章 全局屬性和其他
- 第 12 章 CSS 入門
- 第 13 章 CSS 選擇器[上]
- 第 14 章 CSS 顏色與度量單位
- 第 15 章 CSS 文本樣式[上]
- 第 15 章 CSS 文本樣式[下]
- 第 16 章 CSS 盒模型[上]
- 第 16 章 CSS 盒模型[下]
- 第 17 章 CSS 邊框與背景[上]
- 第 17 章 CSS 邊框與背景[下]
- 第 18 章 CSS 表格與列表
- 第 19 章 CSS 其他樣式
- 第 20 章 CSS3 前綴和 rem
- 第 21 章 CSS3 文本效果
- 第 21 章 CSS3 文本效果
- 第 23 章 CSS3 邊框圖片效果
- 第 24 章 CSS3 變形效果[下]
- 第 25 章 CSS3 過渡效果
- 第 26 章 CSS3 動畫效果
- 第 27 章 CSS 傳統布局[上]
- 第 27 章 CSS 傳統布局[下]
- 第 28 章 CSS3 多列布局
- 第 29 章 CSS3 彈性伸縮布局[上]
- 第 29 章 CSS3 彈性伸縮布局[中]
- 第 29 章 CSS3 彈性伸縮布局[下]
- 第 30 章 使用 Emmet 插件
- Bootstrap 教程
- 第 1 章 Bootstrap 介紹
- 第 2 章 排版樣式
- 第 3 章 表格和按鈕
- 第 4 章 表單和圖片
- 第 5 章 柵格系統
- 第 6 章 輔組類和響應式工具
- 第 7 章 圖標菜單按鈕組件
- 第 8 章 輸入框和導航組件
- 第 9 章 路徑分頁標簽和徽章組件
- 第 10 章 巨幕頁頭縮略圖和警告框組件
- 第 11 章 進度條媒體對象和 Well 組件
- 第 12 章 列表組面板和嵌入組件
- 第 13 章 模態框插件
- 第 14 章 下拉菜單和滾動監聽插件
- 第 15 章 標簽頁和工具提示插件
- 第 16 章 彈出框和警告框插件
- 第 17 章 按鈕和折疊插件
- 第 18 章 輪播插件
- 第 19 章 附加導航插件
- 第 20 章 項目實戰--響應式導航[1]
- 第 20 章 項目實戰--響應式輪播圖[2]
- 第 20 章 項目實戰--首頁內容介紹[上][3]
- 第 20 章 項目實戰--首頁內容介紹[下][4]
- 第 20 章 項目實戰--資訊內容[5,6]
- 第 20 章 項目實戰--案例和關于[7]
- javaScript 教程
- javascript快速入門1--JavaScript前世今生,HelloWorld與開發環境
- javascript快速入門2--變量,小學生數學與簡單的交互
- javascript快速入門3--分支判斷與循環
- javascript快速入門4--函數與內置對象
- javascript快速入門5--數組與對象
- javascript快速入門6--Script標簽與訪問HTML頁面
- javascript快速入門7--ECMAScript語法基礎
- javascript快速入門8--值,類型與類型轉換
- javascript快速入門9--引用類型
- javascript快速入門10--運算符,語句
- javascript快速入門11--正則表達式
- javascript快速入門12--函數式與面向對象
- javascript快速入門13--BOM——瀏覽器對象模型(Browser Object Model)
- javascript快速入門14--DOM基礎
- javascript快速入門15--節點
- javascript快速入門15--表單
- javascript快速入門16--表格
- javascript快速入門17--事件
- javascript快速入門18--樣式
- javascript快速入門19--定位
- javascript快速入門20--Cookie
- javascript快速入門21--DOM總結
- javascript快速入門22--Ajax簡介
- javascript快速入門23--XHR—XMLHttpRequest對象
- javascript快速入門24--XML基礎
- javascript快速入門25--瀏覽器中的XML
- javascript快速入門26--XPath
- javascript快速入門27--XSLT基礎
- PHP 教程
- 第一章 如何加載運行已發布的PHP項目
- 第二章 PHP基礎
- 第三章 操作符與控制結構
- 第四章 數學運算
- 第五章 數組
- 第六章 目錄與文件
- 第七章 自定義函數
- 第八章 字符串處理
- 第九章 正則表達式
- 第十章 日期與時間
- 第十一章 表單與驗證
- 第十二章 會話控制
- 第十三章 上傳文件
- 第十四章 處理圖像
- 第十五章 MySQL 數據庫
- 第十六章 PHP 操作MySQL
- 第十七章 面向對象基礎
- 第十八章 面向對象的特性
- 第十九章 面向對象的工具