目錄
linear-gradient
首頁 web前端 css教學 淺析CSS中怎麼實現線性漸變(linear-gradient)

淺析CSS中怎麼實現線性漸變(linear-gradient)

Apr 02, 2022 am 11:22 AM
css linear-gradient 線性漸變

CSS中怎麼實現線性漸層?以下這篇文章跟大家介紹一下CSS線性漸變函數linear-gradient()的使用方法,並聊聊線性漸層的多種應用,希望對大家有幫助!

淺析CSS中怎麼實現線性漸變(linear-gradient)

linear-gradient

#1.語法

linear- gradient([[to <direction>|<angle>],]? <color stop>, <color stop>[, ...]?)</color></color></angle></direction>

#-webkit-linear-gradient([[<direction>|<angle>],]? <color stop>, <color stop>[, ...]?)</color></color></angle></direction>

這2種在使用方式和表現形式上都有所不同,使用direction時,前者要帶to, 後者不帶;使用angle時,表現不一致。 【推薦學習:css影片教學

1)預設

二者預設都是從上到下

background-image:linear-gradient(#00ffff, #ff1493, #006699);
background-image:-webkit-linear-gradient(#00ffff, #ff1493, #006699)

淺析CSS中怎麼實現線性漸變(linear-gradient)

2)<direction>: [left|right]|[top|bottom]的使用

二者表現方向相反

background-image:linear-gradient(to left, #00ffff, #ff1493, #006699);
background-image:-webkit-linear-gradient(left, #00ffff, #ff1493, #006699);

淺析CSS中怎麼實現線性漸變(linear-gradient)

background-image:linear-gradient(to left top, #00ffff, #ff1493, #006699);
background-image:-webkit-linear-gradient(left top, #00ffff, #ff1493, #006699);

淺析CSS中怎麼實現線性漸變(linear-gradient)

#3)<angle>的使用

度數方向的對應關係。 -webkit-對應的方向則為450°-angle

淺析CSS中怎麼實現線性漸變(linear-gradient)

background-image:linear-gradient(275deg, #ff1493, #000000, #006699);
background-image:-webkit-linear-gradient(175deg, #ff1493, #000000, #006699);

450°-175° =275°,所以二者表現一致,如下圖:

淺析CSS中怎麼實現線性漸變(linear-gradient)

4)<color stop> = <color [percentage |length]>的使用

stop可使用百分比,也可以使用特定值,表示這種顏色在此位置達到飽和

background-image:linear-gradient(to right, #ff1493 10%, #000000 40%, #006699 60%);
background-image:-webkit-linear-gradient(to right, #ff1493 10%, #000000 40%, #006699 60%);

淺析CSS中怎麼實現線性漸變(linear-gradient)

從上圖可以看出顏色變化過程:

0%  --> 10%: #ff1493一直處於飽和

10% --> 40%: #ff1493漸變為#000000, 在40%處,#000000達到飽和

#40% --> 60%: #000000漸變為#006699 , 在60%處,#006699達到飽和

60% --> 100%: # 006699一直處於飽和

利用此特性,可以畫出條紋

  background-image:linear-gradient(to right, #ff1493 33%, #000000 33%, #000000 66%, #006699 66%);
  background-image:-webkit-linear-gradient(to right, #ff1493 33%, #000000 33%, #000000 66%, #006699 66%);

淺析CSS中怎麼實現線性漸變(linear-gradient)

##註:stop也可以同時設定2個值, 如linear-gradient(to right, #ff1493 0% 33%, #000000 33% 66%, #006699 66% 100%);-webkit- linear-gradient(to right, #ff1493 33%, #000000 33% 66%, #006699 66% 100%);,效果與上圖一致。

若後者的值小於前者,以前者為準,如下

20px小於60px,實際按60px顯示,效果如下圖:

background-image:linear-gradient(right, #ff1493 60px, #000000 20px);
background-image:-webkit-linear-gradient(right, #ff1493 60px, #000000 20px);

淺析CSS中怎麼實現線性漸變(linear-gradient)

擴充1:漸層中心

預設是2種顏色的中心,但我們可以設定其漸層中心

/* 3种颜色平分,渐变中心为1/3和2/3处 */
background-image:linear-gradient(to right, #ff1493, #000000, #006699); 
/* 渐变中心在10%和20%处 */
background-image:linear-gradient(to right, #ff1493, 10%, #000000, 20%, #006699);

註:-webkit-linear-gradient不支援此用法

淺析CSS中怎麼實現線性漸變(linear-gradient)

淺析CSS中怎麼實現線性漸變(linear-gradient)

擴充2: repeating-linear-gradient

1淺析CSS中怎麼實現線性漸變(linear-gradient)我們可以使用屬性這個來繪製重複的色塊

background-image:repeating-linear-gradient(0deg, #ff1493, #000000 10px, #006699 20px);
background-image:-webkit-repeating-linear-gradient(0deg, #ff1493, #000000 10px, #006699 20px)

2.常用樣式

1淺析CSS中怎麼實現線性漸變(linear-gradient)

######(1)多色星空######
background-image:
    linear-gradient(45deg, rgba(255, 0, 76, 0.7), rgba(0, 0, 255, 0) 80%),
    linear-gradient(135deg, rgba(106, 0, 128, 1), rgba(0, 128, 0, 0) 80%),
    linear-gradient(225deg, rgba(0, 255, 255, 1), rgba(0, 255, 255, 0) 80%),
    linear-gradient(315deg, rgba(255, 192, 203, 0.7), rgba(255, 192, 203, 0) 80%);
###同時設定多個值,讓整個背景色看起來比較絢麗# #################(2)格紋圖案######
background-image:
    repeating-linear-gradient(0deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px),
    repeating-linear-gradient(90deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px);
    
background-image:
    repeating-linear-gradient(45deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px),
    repeating-linear-gradient(135deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px);
###利用色彩與透明色交替渲染########### #

(3)边框渐变

<div id="wrap"></div>
<style>
 #wrap {
    width: 180px;
    height: 40px;
    border: 5px solid transparent;
    border-image: linear-gradient(45deg, aqua, pink, purple) 1;
}

</style>

内部背景透明,但是不支持设置border-radius

1淺析CSS中怎麼實現線性漸變(linear-gradient)

<div id="wrap"></div>
<style>
 #wrap {
    width: 180px;
    height: 40px;
    border: 5px solid transparent;
    border-image: linear-gradient(45deg, aqua, pink, purple) 1;
    clip-path: inset(0 round 5px);
}

</style>

注:可以使用clip-path裁剪出圆角, 但是这种方式不适用于角度较大的圆角

1淺析CSS中怎麼實現線性漸變(linear-gradient)

<div id="wrap">
    <div id="content"></div>
</div>
<style>
#wrap {
    width: 180px;
    height: 40px;
    border-radius: 20px;
    background: #FFF;
    position: relative;
}

#wrap::before {
    content: &#39;&#39;;
    position: absolute;
    left: -5px;
    right: -5px;
    top: -5px;
    bottom: -5px;
    background-image: linear-gradient(45deg, aqua, pink, purple);
    border-radius: 25px;
    z-index: -1
}

/*或者*/

#wrap {
    width: 180px;
    height: 40px;
    border-radius: 20px;
    background: #FFF;
    position: relative;
    border: 5px solid transparent;
    background-origin: border-box;
    background-image: linear-gradient(#FFF, #FFF), linear-gradient(45deg, aqua, pink, purple);
    background-clip: padding-box, border-box;
}

/*或者*/

#wrap {
    width: 180px;
    height: 50px;
    border: 5px solid transparent;
    border-radius: 25px;
    background-image: linear-gradient(45deg, aqua, pink, purple);
    background-origin: border-box;
}

#content {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: #FFF;
}

</style>

这几种方式都能做到圆角渐变边框,但是无法做到内部背景透明

1淺析CSS中怎麼實現線性漸變(linear-gradient)

(4)文字渐变

<div id="wrap"> Darker CMJ</div>
<style>
#wrap {
    font-size: 40px;
    line-height: 40px;
    font-weight: bold;
    background-clip: text;
    -webkit-background-clip: text;
    // color: transparent;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(45deg, aqua, pink, purple);
}
</style>

background-clip规定背景的绘制区域,我们设置其值为text,就是在文字区域绘制,然后将文字color或者-webkit-text-fill-color设置为透明色,渐变区域就能显示出来了

1淺析CSS中怎麼實現線性漸變(linear-gradient)

好了,over,第一次写文章,希望能坚持下去=.=

(学习视频分享:web前端

以上是淺析CSS中怎麼實現線性漸變(linear-gradient)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

PHP教程
1540
276
如何在CSS中使用大眾和VH單元 如何在CSS中使用大眾和VH單元 Aug 07, 2025 pm 11:44 PM

vw和vh單位通過將元素尺寸與視口寬度和高度關聯,實現響應式設計;1vw等於視口寬度的1%,1vh等於視口高度的1%;常用於全屏區域、響應式字體和彈性間距;1.全屏區域使用100vh或更優的100dvh避免移動瀏覽器地址欄影響;2.響應式字體可用5vw並結合clamp(1.5rem,3vw,3rem)限制最小和最大尺寸;3.彈性間距如width:80vw、margin:5vhauto、padding:2vh3vw可使佈局自適應;需注意移動設備兼容性、可訪問性及固定寬度內容衝突,建議優先使用dvh

虛擬貨幣交易app有哪些_2025正規虛擬貨幣交易app推薦前十名 虛擬貨幣交易app有哪些_2025正規虛擬貨幣交易app推薦前十名 Aug 08, 2025 pm 06:42 PM

1、Binance币安以庞大的交易量和丰富的交易对著称,提供多元交易模式与完善生态系统,并通过SAFU基金和多重安全技术保障用户资产安全且高度重视合规运营;2、OKX欧易提供广泛的数字资产交易服务和统一交易账户模式,积极布局Web3领域,并通过严格风控和用户教育提升交易安全与体验;3、gate.io芝麻开门以上币速度快和币种丰富见长,提供多样化交易工具与增值服务,采用多重安全验证机制并坚持资产储备透明化以增强用户信任;4、火币Huobi凭借深厚的行业积累提供一站式数字资产服务,拥有强大交易深度与

如何在CSS中使用過濾器屬性 如何在CSS中使用過濾器屬性 Aug 11, 2025 pm 05:29 PM

TheCSSfilterpropertyallowsvisualeffectslikeblur,brightness,andgrayscaletobeapplieddirectlytoHTMLelements.1)Usethesyntaxfilter:filter-function(value)toapplyeffects.2)Combinemultiplefilterswithspaceseparation,e.g.,blur(2px)brightness(70%).3)Commonfunct

如何有效使用CSS選擇器 如何有效使用CSS選擇器 Aug 11, 2025 am 11:12 AM

使用CSS選擇器時應優先採用低特異性選擇器,避免過度限定;1.理解特異性層級,按類型、類、ID順序合理使用;2.多用類名提升可複用性和可維護性;3.適度使用屬性和偽類選擇器,避免性能問題;4.保持選擇器簡短且作用域明確;5.採用BEM等命名規範提升結構清晰度;6.避免濫用標籤選擇器和:nth-child,優先使用工具類或模塊化CSS,確保樣式長期可控。

如何使用CSS創建垂直線 如何使用CSS創建垂直線 Aug 11, 2025 pm 12:49 PM

使用帶邊框的div可快速創建垂直線,通過設置border-left和height定義樣式和高度;2.利用::before或::after偽元素可在無額外HTML標籤的情況下添加垂直線,適合裝飾性分隔;3.在Flexbox佈局中,通過設置divider類的寬度和背景色,可實現彈性容器間的自適應垂直分隔線;4.在CSSGrid中,將垂直線作為獨立列(如auto寬度列)插入網格佈局,適用於響應式設計;應根據具體佈局需求選擇最合適的方法,確保結構簡潔且易於維護。

CSS混合混合模式示例 CSS混合混合模式示例 Aug 08, 2025 pm 12:59 PM

mix-blend-mode屬性用於控制元素內容與背景的混合效果,1.使用multiply可實現文字與背景圖的正片疊底融合;2.screen使圖像變亮,適合深色背景;3.overlay增強對比,結合multiply與screen特點;4.difference產生強烈反差,適用於創意設計;需確保元素重疊及正確的z-index層疊順序,配合isolation:isolate可限制混合範圍,通過調整顏色與模式可實現豐富的視覺效果。

如何更改CSS中的列表樣式 如何更改CSS中的列表樣式 Aug 17, 2025 am 10:04 AM

要更改CSS列表樣式,首先使用list-style-type改變項目符號或編號樣式,1.使用list-style-type設置ul的項目符號為disc、circle或square,ol的編號為decimal、lower-alpha、upper-alpha、lower-roman或upper-roman,2.用list-style:none完全移除標記,3.使用list-style-image:url('bullet.png')替換為自定義圖像,4.通過list-style-position:in

如何防止CSS中的線路斷裂 如何防止CSS中的線路斷裂 Aug 08, 2025 pm 05:14 PM

Usewhite-space:nowraptopreventtextfrombreakingontomultiplelines,ensuringcontentstaysonasingleline;2.Applythispropertytoinline,inline-block,orflexitems,whereflex-wrap:nowrappreventsitemwrappingandwhite-space:nowrappreventsinternaltextwrapping;3.Forspe

See all articles