CSS background 屬性全家桶
Write By Monkeyfly
以下內容均為原創,如需轉載請註明出處。
前提
今天在審查元素時,發現這樣一串程式碼:
input.btn-upload {
top: 0;
right: 0;
width: 100%;
height: 100%;
opacity: 0;
display: block;
background: none repeat scroll 0 0 transparent;
/*無背景圖片,水平和垂直方向重複,隨頁面其他內容滾動而移動,水平和垂直方向尺寸為0,背景顏色透明*/
}
由於對css
的background
所以,熟練的掌握background
屬性全家桶是很有必要的。
介紹
我們都知道css
的background
屬性是一個複合屬性,可以簡寫成一行程式碼,也可以將每個屬性分開來寫。
background
簡寫屬性在一個宣告中設定所有的背景屬性。如:
body{
background: #00FF00 url(bgimage.gif) no-repeat fixed top;
}
注:如果不設定其中的某個屬性值,也不會出問題。
- 也可以設定如下屬性:
background-color
background-position
background-size
background-repeat
background-origin
background-clip
background-attachment
background-image
通常建議使用簡寫屬性,而不是分別使用單個屬性。
這樣做的好處就是:
- 手寫的程式碼量少,比較每個屬性單獨寫要鍵入很多字母的。簡寫肯定書寫方便。
- 也是為了相容老版本的瀏覽器,這個簡寫的屬性在較老的瀏覽器中能夠得到更好的支援。
此外,最好還是將每一個屬性都熟練掌握了,否則,簡寫的屬性一多,可能自己都看不懂哪個值代表哪個屬性了。
畢竟,background
的簡寫屬性不是按照規定的順序來書寫的
background
屬性全家桶 如下圖所示:
由上可知,background
全家桶共9
大屬性。
不常用到的屬性:
background-origin(基本很少用)
background-clip(基本很少用)
background-attachment(有時候還會用到)
下面就讓我們一一來認識一下,全家桶中的每一位成員。
1.background-color
作用
設定元素的背景顏色
取值如下:
background-color:yellow;//英文單詞代表的顏色名稱
background-color:#fff;//16進位制用法,#f00 => #ff0000(兩個字母為一組,相同就可以省略)
background-color:rgb(255,0,255);//用rgb程式碼表示
background-color:transparent;//預設值,表示背景顏色為透明。
可能的值
對於transparent
,我有話要說
- 在大多數情況下,沒有必要使用
transparent
。 - 它的適用情況:
- 不希望某元素擁有背景色;
- 不希望使用者對瀏覽器的顏色設定影響到你的頁面設計。
JavaScript
語法
object.style.backgroundColor="#00FF00"
2.background-position
作用
設定背景影象的起始位置。
可能的值
由上可知,取值有3
種:(1)表示方向的關鍵詞;(2)百分比;(3)position值(畫素或其他css單位)
。
每一種取值都是用兩個獨立的值來表示背景圖片的位置的,即第一個值代表水平方向的位置,第二個值代表垂直方向的位置。
第1種取值說明
(1)對於用方向關鍵詞表示位置的寫法,可以這樣記憶:水平位置(上,中,下)
、垂直位置(左,中,右)
。
(2)水平方向的值可以和垂直方向的值進行兩兩組合,即總共有3² = 9
種組合。
//這樣記憶起來也比較方便
//垂直方向
/*水平方向:*/ top (left,center,right)
/*水平方向:*/ center (left,center,right)
/*水平方向:*/ bottom (left,center,right)
(3)預設值:0% 0%
。
(4)如果只寫了水平方向的關鍵詞,那麼垂直方向的關鍵詞預設為center
。
第2種取值說明
(1)依然是由兩個值構成,即(水平方向的值 垂直方向的值)
。
(2)0% 0%
的取值代表左上角
的位置,100% 100%
的取值代表右下角
的位置。
(3)如果只寫了水平方向的取值,那麼垂直方向的取值預設為50%
。
第3種取值說明
(1)仍然是是由兩個值構成,即(水平方向的值 垂直方向的值)
。
(2)0 0
的取值代表左上角
的位置。
(3)一般都是使用畫素(pixel)
作為值的單位,即px
。當然,其他的css
單位也都可以使用。
(4)如果只寫了水平方向的取值,那麼垂直方向的取值預設為50%
。
注意:
百分比的值(%)
可以和position
值混用。如:background-position: -144px 70%;
JavaScript
語法:
object.style.backgroundPosition="center"
3.background-size
作用
規定背景影象的尺寸(大小)。
語法
background-size: length|percentage|cover|contain;
可能的值
由上可知,取值總共分為兩大類:關鍵字取值(cover、contain)
和非關鍵字取值(length、percentage)
。
非關鍵字取值
非關鍵字取值就是我們平時用到的單位取值,即長度單位和百分比單位。
- 這兩種取值都是用兩個值來規定背景圖片的尺寸,即
第一個值代表寬度
,第二個值代表高度
。 - 而且,如果只設置其中的一個值,另外一個值會自動取值
auto
。 - 其中,百分比取值是按照父元素的百分比來設定的。
關鍵字取值
關鍵字取值就是兩個固定的關鍵字,即cover
和contain
。
顧名思義,cover
的中文意思是“覆蓋”
;而contain
的中文意思是“包容,容納”
。
作用區別
如果圖片寬高不夠,
cover
會將圖片拉伸至足夠大,直至鋪滿整個背景區域。即使圖片的其他部分無法顯示在背景區域。(這樣就相當於變相的放大圖片至充滿容器,才不管圖片是否顯示完整)
而
contain
的做法是:自適應,即將圖片擴充套件至最大尺寸,讓圖片的寬和高都剛好適應整個背景區域,不會存在顯示部分圖片的問題。(即使拉伸後,圖片很不美觀,也會完全鋪滿整個背景區域)
單詞解釋
cover v.遮蓋,覆蓋; 英 [ˈkʌvə(r)]
contain vt.包含,容納; 英 [kənˈteɪn]
JavaScript
語法
object.style.backgroundSize="60px 80px"
4.background-repeat
作用
設定是否重複背景圖片 以及 如何重複背景影象。說白了,其實就是設定背景圖片是否平鋪。
注:預設情況下,背景圖片在水平和垂直方向上是會重複出現的(如果圖片的尺寸不足以鋪滿背景區域)。
語法
background-repeat: repeat(預設值) | no-repeat | repeat-x | repeat-y | inherit
可能的值
提示
(1)背景影象的位置是根據background-position
屬性設定的。
(2)如果未規定 background-position
屬性,影象會被放置在元素的左上角。
JavaScript
語法
object.style.backgroundRepeat="repeat-y"
5.background-origin
作用
規定 background-position
屬性相對於什麼位置來定位。即,相對於什麼來定位背景圖片。
語法
background-origin: padding-box(預設值) | border-box | content-box;
分析
origin 英 [ˈɒrɪdʒɪn] n.起源,根源; [數]原點,起點;
- 顧名思義,
origin
就是設定背景圖片最初顯示時候的位置。 - 即最開始顯示時,背景圖片是根據盒子的哪個部分來進行定位的。(是邊框
border
呢,還是內邊距padding
呢,亦或是內容content
呢)
注:如果背景影象的 background-attachment
屬性為 "fixed"
,則該屬性沒有效果。
可能的值
JavaScript
語法
object.style.backgroundOrigin="content-box"
動態效果圖
6.background-clip
作用
指定從哪個區域向外裁剪背景。(是邊框border
開始裁減呢,還是從內邊距padding
開始呢,亦或是從內容content
開始呢)
單詞解釋
clip 英 [klɪp] vt. 剪; 剪掉;
語法
background-clip: border-box(預設值) | padding-box | content-box;
可能的值
JavaScript
語法
object.style.backgroundClip="content-box"
動態效果圖
7.background-attachment
作用
是否固定背景圖片的位置。(位置固定或隨頁面滾動)
- 如果固定的話,影象不會隨頁面的其餘部分滾動。
- 如果不固定的話,則讓背景圖隨著頁面的其餘部分滾動而進行移動。
分析
attachment 英 [əˈtætʃmənt] n.(用電子郵件傳送的)附件,附屬物; 依戀,依附;
attach[v.附上;依戀] + ment物 → n.附件, 附加裝置, 配屬
顧名思義,其實attachment
要表達的意思就是:背景圖片是否要作為頁面的附加物,隨頁面一起滾動。
語法
background-attachment: scroll(預設值) | fixed | inherit;
可能的值
JavaScript
語法
object.style.backgroundAttachment="fixed"
8.background-image
作用
為元素設定背景影象。即在元素的背景中設定一個圖片。
提示
- 元素的背景佔據了元素的全部尺寸,包括內邊距和邊框,但不包括外邊距。
- 預設地,背景圖片位於元素的左上角,並在水平和垂直方向上重複。
- 請設定一種可用的背景顏色,這樣的話,假如背景圖片不可用,頁面也可獲得良好的視覺效果。
語法
background-image: none(預設值) | url('路徑') | inherit;
可能的值
JavaScript
語法
object.style.backgroundImage="url(stars.gif)"
相關推薦
CSS background 屬性全家桶
Write By Monkeyfly 以下內容均為原創,如需轉載請註明出處。 前提 今天在審查元素時,發現這樣一串程式碼: input.btn-upload { top: 0; right: 0; width: 100%;
CSS background 屬性
以及 單詞 部分 繪制 rgba style fff 圖像 裁剪區域 background 給元素添加背景屬性, 是一個簡寫屬性, 在一個聲明中設置所有的背景屬性。 簡寫 div { background: skyblue url(bgimage.gif) no-
精通css——background屬性
一:概念 1. background-color(1):規定要使用的背景的顏色 2. background-position(1):規定背景圖片的位置 top left top center top right center left center center cen
CSS background屬性之背景設定詳解
CSS background屬性之主要背景屬性 在CSS中,關於background屬性,主要有5個相關的背景屬性。如下所示: background-color屬性:設定背景顏色。background-image屬性:設定背景圖片。background-repeat屬性
CSS background-clip 屬性
spa ima com 圖片 meta tin html clas span <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜
css——background背景屬性
設定背景顏色——:background-color 設定背景圖——:background-image{ URL:xxxx}(必須設定一個url連結到相應圖片才行) 設定背景重複——:background-repeat:{ repeat-y/repeat-x/
Angular6實現繫結HTML自定義屬性的值以及CSS中background屬性的資料繫結
今天用Angular6在整合網上一個程式碼的時候,他的程式碼的一個HTML標籤有幾個自定義標籤,然後我以為轉換到Angular後和不是自定義標籤一樣直接加[]就可以了,但是一直報錯。 這裡顯示沒有這個屬性 解決方案:去除[]並且加上attr.就可以了
CSS中background屬性
CSS背景屬性,在一個宣告中設定所有背景屬性。如 body { background: #00FF00 url(bgimage.gif) no-repeat fixed top; } 可以設定如下屬性: background-colo
Vuejs全家桶系列(五)---屬性和方法
vue例項屬性 vm.$el Vue 例項使用的根 DOM 元素。 console.log(vm.$el === document.getElementById('#app')) //true console.log(vm.$el); 結果為
CSS Display屬性與盒模型
鏈接 依據 使用 dem align ont 情況 rac rgb 由於HTML流式文檔的特性,頁面布局往往是新手最為頭疼的問題之中的一個。 每一個HTML元素都會渲染為一個Box,可分為inline Box和block Box。 依據display屬性的不同。Box
淺談CSS浮動屬性
情況 了解 特性 影響 並排 添加 float 下標 左右 要介紹css的float浮動屬性,就必須先了解一下標準文檔流 標準文檔流: 在沒有css的幹預下,塊級元素獨占一行,可以設置寬高,行內元素並排顯示,寬高自動填充。 HTML頁面的標準文檔流(默認布局)是:從
css 定位屬性position的使用方法實例-----一個層疊窗口
gray 白色 osi style 邊距 需要 屬性 back 分享 運行結果: <!DOCTYPE html> <html> <head> <title>重疊樣式窗口</title> <style
Vue2.0 全家桶開發的網頁應用(參照吾記APP)
gis 安裝 str lib 兼容 定義主題 國外 刪除 ces github鏈接 借鑒吾記APP,使用 vue2.0+vue-router+vuex 為主要技術棧,elementui做為ui框架,多模塊 spa 模式,webpack2.0 負責模塊打包,gulp 負責處
CSS學習筆記05 CSS display屬性
嵌套 img ges htm 現在 inline 內聯元素 itl 註意 HTML標記一般分為塊標記和行內標記兩種類型,它們也稱塊元素和行內元素。 塊元素 每個塊元素通常都會獨自占據一整行或多整行,可以對其設置寬度、高度、對齊等屬性,常用於網頁布局和網頁結構的搭建。並且
css常見屬性
`` 文檔 ble display 盒子模型 復合 相互 firefox html ### css常見屬性- color:red/rgb(255,0,0)/#f00; + 註意,如果有a鏈接,必須在a鏈接中設置字體的顏色;在外面設置a鏈接中的字體顏色,無效;- fon
Vue 全家桶 + Express 實現的博客(後端API全部自己手寫)
vue express node mysql vuex 為什麽學習並使用Vue1.發展趨勢最近這幾年的前端圈子,由於戲臺一般精彩紛呈,從 MVC 到 MVVM,你剛唱罷我登場。 backbone,AngularJS 已成昨日黃花,reactjs 如日中天,同時另一更輕量的 vue 發展勢頭
CSS--表格屬性
屬性 das wid 實線 lap span font 藍色 otto 1、合並表格的邊框線 border-collapse:collpase 2、表格寬度 width:800px 3、邊框線 border:1px solid blue(邊框線像素 實線 顏色為
css樣式屬性
lac ive splay ota div meta text type css css樣式屬性比HTML用標簽來添加方便很多,樣式也比較多樣。不過需要記得東西就更多了。 .d1 { width: 100px; height: 30px; border: 1
搭建vue全家桶
靜態頁 light -- vue ack sas nbsp sass log 1、直接利用vue-cli腳手架快速搭建 (1)全局安裝vue-cli npm install -g vue-cli (2)創建項目 vue init webpack-simple my-
css動畫屬性--小球移動
orm 100% clas dial rect 只有一個 back die func 主體只有一個div <body> <div></div> </body> 樣式部分(測試:目前的瀏覽器還是需要加前綴才能兼容)