淺談CSS3中新增的背景屬性&漸變函數(gradient)
本篇介紹關於背景(background
)的新增屬性和漸層函數(gradient
),看看提供了哪些新背景元素控制和多種漸變效果的實現。
背景Background
background
是多個背景屬性的簡寫,
backgrounf: [background-color] | [background-image] | [background-position][/background-size] | [background-repeat] | [background-attachment] | [background-clip] | [background-origin], ...;
注意: 如果有background-size
值,需要緊跟著background-position
並且用"/" 分開;
background-image
#background-image
屬性可以增加多張背景圖片,不同的背景圖像和圖像用逗號隔開,所有的圖片中顯示在最頂端的為第一張。設定多張 png 圖片,可以出多張背景圖疊加的效果。
background-image: url("../../media/examples/lizard.png"), url("../../media/examples/star.png");
建議: 使用背景圖片的時候,最好也設定背景顏色(background-color),作為背景圖片不支援時的planB 。
background-size
CSS3 以前,背景圖片大小由圖片的實際大小決定。在 CSS3 中,background-size
屬性可以指定背景圖像的大小,取值像素或百分比(相對於父元素的寬度和高度的百分比的大小)。
圖片可以保有其原有的尺寸,或者拉伸到新的尺寸,或者在保持其原始比例的同時縮放到元素的可用空間的尺寸:
-
cover
:保持影像的寬高比例,縮放背景圖片以完全覆蓋背景區,可能背景圖片部分看不見。 contain
:保持影像的寬高比例,縮放背景圖片以完全裝入背景區,可能背景區部分空白。- 一個值:這個值指定圖片的寬度,圖片的高度隱式的為auto
- 兩個值:第一個值指定圖片的寬度,第二個值指定圖片的高度
background-origin
background-origin
規定了指定背景圖片background-image
屬性的原點位置的背景相對區域。
注意: 當使用 background-attachment
為 fixed
時,該屬性將被忽略不起作用。
border-box
背景圖片的擺放以border 區域為參考padding-box
背景圖片的擺放以padding 區域為參考content-box
背景圖片的擺放以content 區域為參考
background-clip
background-clip
背景剪裁屬性是指定背景(背景圖片或顏色)的繪製區域。
border-box
:背景區域延伸到邊框(但是在邊框下層)##padding-box
:背景區域延伸到內邊距
content-box
:背景區域延伸到內容區
#text
:背景被裁切成文字的前景色。需要加上前綴
-webkit-background-clip: text;
############### #CSS3 漸層(gradients)可以讓在兩個或多個指定的顏色之間顯示平穩的過渡。比較使用漸層圖片,gradients 可以減少下載的時間和寬頻的使用,並且在放大時看起來效果更好。 ######線形漸層######顏色值沿著一條隱式的直線逐漸過渡。由 ###linear-gradient()### 產生。 ######為了建立一個線性漸變,你必須至少定義兩個顏色節點。顏色節點即你想要呈現平穩過渡的顏色。同時,你也可以設定一個起點和一個方向(或一個角度)。 #########語法######/* 渐变轴为45度,从蓝色渐变到红色 */ linear-gradient(45deg, blue, red); /* 从右下到左上、从蓝色渐变到红色 */ linear-gradient(to left top, blue, red); /* 从下到上,从蓝色开始渐变、到高度40%位置是绿色渐变开始、最后以红色结束 */ linear-gradient(0deg, blue, green 40%, red);
登入後複製#############linear-gradient([ <angle> | to <side-or-corner> ,]? <color-stop-list> )
登入後複製###:以角度值指定漸層的方向(或角度)。角度順時針增加。 ################ <side-or-corner>
:描述渐变线的起始点位置。to top
,to bottom
,to left
和to right
这些值会被转换成角度0 度
、180 度
、270 度
和90 度
。其余值会被转换为一个以向顶部中央方向为起点顺时针旋转的角度。渐变线的结束点与其起点中心对称。<color-stop-list>
:颜色变化列表。支持透明度(rgba(255,0,0,0.1)
)。
径向渐变
radial-gradient()
CSS 函数创建了一个图像,该图像的颜色值由一个中心点(原点)向外扩散并逐渐过渡到其他颜色值。
同样至少需要定义两种颜色节点,也可以指定渐变的中心(默认在中心点,center
)、形状(默认椭圆形 ellipse
)、大小(默认 farthest-corner
,表示到最远的角落)
语法
radial-gradient( [shape size at position] ? <color-stop-list> [ , <color-stop-list> ]+ )
shape
:椭圆形(ellipse
,默认)或圆形(circle
)size
:closest-side
, 渐变的边缘形状与容器距离渐变中心点最近的一边相切(圆形)或者至少与距离渐变中心点最近的垂直和水平边相切(椭圆)。closest-corner
, 渐变的边缘形状与容器距离渐变中心点最近的一个角相交。farthest-side
, 与 closest-side 相反,边缘形状与容器距离渐变中心点最远的一边相切(或最远的垂直和水平边)。farthest-corner
, 渐变的边缘形状与容器距离渐变中心点最远的一个角相交。
position
:可以是具体的两个位置偏移值(10% 20%
),也可以是关键字(left、right、top、bottom)
重复渐变
重复多次渐变图案直到足够填满指定元素。由 repeating-linear-gradient()
和 repeating-radial-gradient()
函数产生。
重复函数的参数同上,不同的是它会基于渐变长度(最后一个色标和第一个之间的距离)倍数重复。
.linear-repeat { background: repeating-linear-gradient( to top left, lightpink, lightpink 5px, white 5px, white 10px ); }.radial-repeat { background: repeating-radial-gradient( powderblue, powderblue 8px, white 8px, white 16px ); }
更多编程相关知识,请访问:编程入门!!
以上是淺談CSS3中新增的背景屬性&漸變函數(gradient)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

純CSS3怎麼實現波浪效果?這篇文章就來跟大家介紹一下使用 SVG 和 CSS 動畫來製作波浪效果的方法,希望對大家有幫助!

如何使用CSS實現元素的旋轉背景圖動畫效果背景圖動畫效果可以增加網頁的視覺吸引力和使用者體驗。本文將介紹如何使用CSS實現元素的旋轉背景圖動畫效果,並提供具體的程式碼範例。首先,我們需要準備一張背景圖,可以是任何你喜歡的圖片,例如一張太陽或電風扇的圖片。將該圖片儲存並命名為“bg.png”。接下來,建立一個HTML文件,並在文件中新增一個div元素,將其設定為

兩種方法:1、利用display屬性,只要為元素加上「display:none;」樣式即可。 2.利用position和top屬性設定元素絕對定位來隱藏元素,只需為元素加上「position:absolute;top:-9999px;」樣式。

在css中,可以利用border-image屬性來實作花邊邊框。 border-image屬性可以使用圖片來建立邊框,即給邊框加上背景圖片,只需要將背景圖片指定為花邊樣式即可;語法「border-image: url(圖片路徑) 向內偏移值圖像邊界寬度outset 是否重複;」。

怎麼製作文字輪播與圖片輪播?大家第一想到的是利用js,其實利用純CSS也能實現文字輪播與圖片輪播,下面來看看實作方法,希望對大家有幫助!

實作方法:1、使用「:active」選擇器選取滑鼠點擊圖片的狀態;2、使用transform屬性和scale()函數實現圖片放大效果,語法「img:active {transform: scale(x軸放大倍率,y軸放大倍率);}」。

在css3中,可以利用「animation-timing-function」屬性來設定動畫旋轉速度,該屬性用於指定動畫將如何完成一個週期,設定動畫的速度曲線,語法為「元素{animation-timing-function:速度屬性值;}」。
