搜尋
首頁web前端css教學css3中漸層屬性有哪些

漸層屬性有:1、線性漸變“linear-gradient()”,語法為“linear-gradient(角度,顏色,顏色)”;2、徑向漸層“radial-gradient()”,語法為“radial-gradient(位置,顏色,顏色)”。

css3中漸層屬性有哪些

本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

漸變可以使得元素背景更有靈性並具有生氣,雖然我們可以使用背景圖片來呈現漸變效果,但卻是不夠靈活,當想要改變顏色時需要使用圖片編輯器重新編輯,而漸變則可以在程式碼中直接改變顏色就可以了。 CSS3提供了兩種漸層方式,分別是線性漸變(linear-gradient)和徑向漸層(radial-0gradien)。

一、線性漸變(linear-gradient)

線性漸變就是沿著某個方向進行顏色上的漸變,可以使用左右上下以及對角線。

線性漸變語法:

background: linear-gradient(direction, color1, color2 [stop], color3...);

1、direaction:表示線性漸層的方向。有以下三種表示方法。

(1)漸層方向

  • to left:設定漸層為從右到左。
  • to bottom:設定漸層從上到下。這是預設值。
  • to right:設定漸層從左到右。
  • to top:設定漸層從下往上。

也可以是to left top、to left bottom、to right top、to right bottom四個對角線方向。

(2)方向起點

  • top:設定漸層從上到下。這是預設值。
  • bottom:設定漸層從下到上。
  • left:設定漸層從左到右。
  • right:設定漸層為從右到左。

也可以是left top、left bottom、right top、right bottom四個對角線方向。

(3)角度(angle)

角度用數字 單位來進行表示,單位使用deg。所有的顏色都是從中心出發,0deg是to top的方向,順時針是正,逆時針是負。

  • 0deg相當於to top
  • 90deg相當於to right
  • 180deg相當於to bottom,這是預設值
  • #270deg或- 90deg相當於to left

也相應地有45deg、135deg、225deg、315deg來表示對角線方向,但是使用角度表示方向相較於給定水平垂直方向更加靈活可以根據需要來調整角度,已達到想要的效果。

2、color- * :表示漸層中的過度顏色,一般第一個表示漸變起始顏色,最後一個表示漸層的結束顏色,中間表示中間過度顏色。

3、stop:color後面可以加上stop,stop可以讓百分值也可以是像素值,表示某個顏色在stop位置處固定,如下:

background: linear-gradient(to right, blue, green 20%, yellow 50%, purple 80%, red);
//渐变起始颜色是蓝色,当过度到20%时为绿色,也就是说在20%处恰好是绿色,然后继续渐变过度到黄色,到50%处恰好是黄色,后面同个道理,直到结束颜色红色,正好处于100%处。

二、重複線性漸變(repeating-linear-gradient)

說到線性漸變,我們不得不提一下重複線性漸變,有時我們想產生如下圖的條紋效果,我們最方便的方法就是重複線性漸層。

語法代碼:

background: repeating-linear-gradient(#f00 0,#f00 10%,#ff0 10%,#ff0 20%);

以上紅色從0開始漸變,到達10%時還是紅色,所以形成紅色條紋,在10%後變為黃色,直到20%還是黃色,所以此時形成黃色條紋,然後渲染時會將這20%的紅黃條紋進行重複的漸變,使得呈現出紅黃條紋相間的效果。

我們也可以加入方向

background: repeating-linear-gradient(45deg,#f00 0,#f00 10%,#ff0 10%,#ff0 20%);

#三、徑向漸層(radial-gradient)

徑向漸變指從一個中心點開始沿著四周產生漸變效果。由其中心點、邊緣形狀輪廓及位置、色值結束點(color stops)定義而成。

當我們為一個漸層設定多個顏色時,它們會平分這個100%的區域來漸層。當然除了百分比,我們也可以使用特定的像素來設定這個大小。像素設定的大小指的是從漸變圓心向外延伸的距離。

徑向漸層語法:

<radial-gradient> = radial-gradient([ [<shape> || <size>] [ at <position> ]? ,
| at <position>, ]?<color>[stop]?[ ,<color>[stop]?]+)

 其中各種屬性的意思如下:

// 圆心位置
<position> = [ <length> | <percentage> | left | center | right ]? [ <length> | 
<percentage> | top | center | bottom ]?  //默认处于中心点
// 渐变形状
<shape> = circle | ellipse  //默认是ellipse
// 渐变大小
<size> = <extent-keyword> | [ <circle-size> || <ellipse-size>]
<extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
<circle-size> = <length>
<ellipse-size> = [ <length> | <percentage> ]{2}
<shape-size> = <length> | <percentage>
// 渐变颜色及颜色位置
<color>[stop]? = <color> [ <length> | <percentage> ]?

上面需要詳細說明

我們在漸層定義時可以直接定義漸變的形狀,但除了這種方式,還可以透過為size傳入具體值在確定漸變形狀,具體說明如下:

#1、當傳入一個大小參數size或兩個相同值得size時,則表示該漸層形狀為圓。

background: radial-gradient(60px,#f00 0,#ff0 100%);

2、當傳入兩個大小不同的size參數時,則表示該漸層形狀為橢圓。

background: radial-gradient(100px 60px,#f00 0,#ff0 100%);

四、重复径向渐变(repeating-radial-gradient)

上面再说线性渐变时有说到线性渐变具有重复线性渐变,为径向渐变同样具有重复径向渐变,先看一个简单例子。

background: repeating-radial-gradient(circle at center,#f00 0,#f00 10%,
#ff0 10%,#ff0 20%);

重复径向渐变总体上与重复线性渐变差不多,只是重复线性渐变是一个方向上的重复渐变,不论是水平垂直还是对角线,如下图,左边为0%,右边为100%。

然而重复径向则是以圆心为中心点,以放射性方式渐变,中心点为0%,圆边界为100%。

关于上面重复径向渐变是如何生成条纹相间的就 不多加述说,原理和重复线性渐变相同。

下面给出一个重复径向渐变的实用例子,使用重复径向渐变生成一个唱片的效果 。

HTML:

<p class=&#39;record-container&#39;>
     <p class=&#39;record&#39;></p>
</p>

CSS:

.record-container {
     display: inline-block;
     overflow: hidden;
     width: 400px;
     height: 300px;
     border-radius: 10px;
     box-shadow: 0 6px #99907e;
     background: #b5ac9a;
}
        
.record {
     position: relative;
     margin: 19px auto;
     width: 262px;
     height: 262px;
     border-radius: 50%;
     background: linear-gradient(30deg, transparent 40%, rgba(42, 41, 40, .85) 40%) 
no-repeat 100% 0, linear-gradient(60deg, rgba(42, 41, 40, .85) 60%, transparent 60%) 
no-repeat 0 100%, repeating-radial-gradient(#2a2928, #2a2928 4px, #ada9a0 5px,
 #2a2928 6px);
     background-size: 50% 100%, 100% 50%, 100% 100%;
}    
.record:after {
     position: absolute;
     top: 50%;
     left: 50%;
     margin: -35px;
     border: solid 1px #d9a388;
     width: 68px;
     height: 68px;
     border-radius: 50%;
     box-shadow: 0 0 0 4px #da5b33, inset 0 0 0 27px #da5b33;
     background: #b5ac9a;
     content: &#39;&#39;;
}

推荐学习:css视频教程

以上是css3中漸層屬性有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
@rules具有多少特異性,例如@keyframes和@media?@rules具有多少特異性,例如@keyframes和@media?Apr 18, 2025 am 11:34 AM

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

您可以嵌套@Media和@support查詢嗎?您可以嵌套@Media和@support查詢嗎?Apr 18, 2025 am 11:32 AM

是的,您可以,而且它並不重要。不需要CSS預處理器。它在常規CSS中起作用。

快速吞噬緩存破壞快速吞噬緩存破壞Apr 18, 2025 am 11:23 AM

您應該肯定會在CSS和JavaScript(以及圖像和字體以及其他內容)等資產上設置遙遠的高速緩存標頭。告訴瀏覽器

尋找可以監視CSS質量和復雜性的堆棧尋找可以監視CSS質量和復雜性的堆棧Apr 18, 2025 am 11:22 AM

許多開發人員寫瞭如何維護CSS代碼庫的文章,但並沒有很多關於如何測量該代碼庫質量的文章。當然,我們有

數據學家用於建議不執行值的值數據學家用於建議不執行值的值Apr 18, 2025 am 11:08 AM

您是否曾經有一種需要接受簡短而任意的文本的表格?喜歡名字或其他。那完全是用的。有很多

蘇黎世的最初會議蘇黎世的最初會議Apr 18, 2025 am 11:03 AM

我很高興能前往瑞士蘇黎世參加前界(Love the Name and URL!)。我以前從未去過瑞士,所以我很興奮

使用CloudFlare工人建立全棧無服務器應用程序使用CloudFlare工人建立全棧無服務器應用程序Apr 18, 2025 am 10:58 AM

我在軟件開發方面最喜歡的發展之一是無服務器的出現。作為一個傾向於陷入細節的開發人員

在NUXT應用程序中創建動態路由在NUXT應用程序中創建動態路由Apr 18, 2025 am 10:53 AM

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具