目錄
數量級對背景圖形的影響
30deg 替換為0.1deg
借助CSS @property 觀察變化過程
多重徑向漸層&  多重角向漸層配合小單位實現有趣的背景
最小可以小到什麼程度?
使用 repeating-radial-gradient 实现电视雪花噪声动画
首頁 web前端 css教學 純CSS實現美妙而有意思的背景效果! !

純CSS實現美妙而有意思的背景效果! !

Apr 28, 2021 pm 12:40 PM
css 漸變 背景

純CSS實現美妙而有意思的背景效果! !

這篇文章跟大家介紹一下背景的一些有趣的知識,利用一些極小的單位,只需要短短幾行程式碼,就能夠產生出美妙而又有意思的背景效果~

數量級對背景圖形的影響

本文的主角主要是:

  • 多重徑向漸層(repeating-radial -gradient)
  • 多重角向漸變(repeating-conic-gradient)

什麼是數量級對背景圖形呢?我們來看這樣有意思的現象:

我們使用repeating-conic-gradient 多重角向漸變實作一個圖形,程式碼非常的簡單,示意如下:

<div></div>
登入後複製
div {
    width: 100vw;
    height: 100vh;
    background: repeating-conic-gradient(#fff, #000, #fff 30deg);
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

30deg 替換為0.1deg

然後,我們用一個非常小的值去替換上述程式碼中的30deg,類似這樣:

{
    background: repeating-conic-gradient(#fff, #000, #fff 0.1deg);
}
登入後複製

這是什麼玩意?腦補一下,這行程式碼繪製出來的圖形會是什麼樣子?

看看效果:

純CSS實現美妙而有意思的背景效果! !

Wow,不可思議。這裡 0.1deg 非常關鍵,這裡的角度越小(小於 1deg 為佳),圖形越酷炫,也就是我們說的數量級對背景圖形的影響。

CodePen -- One Line CSS Pattern

借助CSS @property 觀察變化過程

在之前,如果我們直接寫下述的過渡代碼,是無法得到補間過渡動畫的,只會有逐幀動畫:

div{
    background: repeating-conic-gradient(#fff, #000, #fff 0.1deg);
    transition: background 1s;
}

div:hover {
    background: repeating-conic-gradient(#fff, #000, #fff 30deg);
}
登入後複製

只能得到這樣的效果,原因在於 CSS 不支援對這種複雜的漸變進行直接的過渡動畫

純CSS實現美妙而有意思的背景效果! !

OK,接下來,運用在這篇文章--CSS @property,讓不可能改變可能 介紹的CSS @property 的知識,我們可以利用CSS @property 來觀察它們兩種狀態變化的過程。

簡單改造下程式碼,核心程式碼如下:

@property --angle {
  syntax: &#39;<angle>&#39;;
  inherits: false;
  initial-value: 0.1deg;
}
div{
    background: repeating-conic-gradient(#fff, #000, #fff var(--angle));
    transition: --angle 2s;
}
html:hover {
    --angle: 30deg;
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

#Wow,本著尋找不同數量級單位對這個圖形的影響,卻歪打正著得到了一個看著很魔幻的過渡動畫效果。強烈建議你點進DEMO 感受下變換的效果:

CodePen -- repeating-conic-gradient CSS Pattern Transition(Only Chrome 85 )

透過CSS @property  實現的補間過渡動畫,看到從30deg0.1deg 的變化過程,我們大致可以看出小單位0.1 deg 是如何去影響圖形的。

同時,這個單位越小,圖片的細節越多,具體的可以自己再試一次。

多重徑向漸層&  多重角向漸層配合小單位實現有趣的背景

利用上述的一些小技巧,我們利用多重徑向漸層(repeating- radial-gradient)、多重角向漸層(repeating-conic-gradient)就可以產生一些非常有趣的背景圖片。

簡單羅列一些:

div {
    background-image: repeating-radial-gradient(
        circle at center center,
        rgb(241, 43, 239),
        rgb(239, 246, 244) 3px
    );
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

div {
    background-image: repeating-radial-gradient(
        circle at 15% 30%,
        rgb(4, 4, 0),
        rgb(52, 72, 197),
        rgb(115, 252, 224),
        rgb(116, 71, 5),
        rgb(223, 46, 169),
        rgb(0, 160, 56),
        rgb(234, 255, 0) 2px
    );
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

div {
    background-image: repeating-radial-gradient(
        circle at center center,
        rgb(81, 9, 72),
        rgb(72, 90, 223),
        rgb(80, 0, 34),
        rgb(34, 134, 255),
        rgb(65, 217, 176),
        rgb(241, 15, 15),
        rgb(148, 213, 118) 0.1px
    );
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

div {
    background-image: repeating-radial-gradient(
        ellipse at center center,
        rgb(75, 154, 242),
        rgb(64, 135, 228),
        rgb(54, 117, 214),
        rgb(43, 98, 200),
        rgb(33, 79, 185),
        rgb(22, 60, 171),
        rgb(12, 42, 157),
        rgb(1, 23, 143) 0.01px
    );
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

#嘿嘿,是不是別有一番意思,更多有意思的圖形可以自己嘗試嘗試,完整的DEMO 代碼,你可以戳進這裡看看:

CodePen Demo -- Magic Gradient Art

最小可以小到什麼程度?

repeating-radial-gradient 它類似於radial-gradient() 並且採用相同的參數,但是它會在所有方向上重複顏色,以覆蓋其整個容器。

以下述程式碼為例子,其中的單次繪製圖形的終止點 1px,也就是本文的重點,它究竟可以小到什麼程度呢?

:root {
    --length: 1px
}
{
    background-image: repeating-radial-gradient(
        circle at 17% 32%,
        rgb(4, 4, 0),
        rgb(52, 72, 197),
        rgb(115, 252, 224),
        rgb(116, 71, 5),
        rgb(223, 46, 169),
        rgb(0, 160, 56),
        rgb(234, 255, 0) var(--length)
    );
}
登入後複製

我從 100px0.00001px 我繪製了 8 張圖形,作為比較:

9-純CSS實現美妙而有意思的背景效果! !

9-純CSS實現美妙而有意思的背景效果! !

0.001px0.0001px 这个区间段,基本上图形已经退化为粒子图形,见不到径向渐变的轮廓了,而到了 0.00001px 这个级别,居然退化为了一张纯色图片!

CodePen Demo -- 不同级别长度单位对 repeating-radial-gradient 图形的影响

使用 repeating-radial-gradient 实现电视雪花噪声动画

在上述 DEMO 中,我们发现,当在 0.001px0.0001px 这个区间段,repeating-radial-gradient 基本退化为了粒子图形:

{
    background-image: repeating-radial-gradient(
        circle at 17% 32%,
        rgb(4, 4, 0),
        rgb(52, 72, 197),
        rgb(115, 252, 224),
        rgb(116, 71, 5),
        rgb(223, 46, 169),
        rgb(0, 160, 56),
        rgb(234, 255, 0) 0.0008px
    );
}
登入後複製

純CSS實現美妙而有意思的背景效果! !

这不是非常类似电视雪花屏的效果么?微调 0.0008px 这个参数, 利用几帧不同的动画,我们就可以得到电视雪花噪声的动画了。

純CSS實現美妙而有意思的背景效果! !

啊哈,非常的有意思,完整的源码你可以戳这里:

Copepen Demo -- PURE CSS TV NOISE EFFECT (Only Chrome 85+)

更多编程相关知识,请访问:编程视频!!

以上是純CSS實現美妙而有意思的背景效果! !的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱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 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

bootstrap怎麼寫分割線 bootstrap怎麼寫分割線 Apr 07, 2025 pm 03:12 PM

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

bootstrap怎麼調整大小 bootstrap怎麼調整大小 Apr 07, 2025 pm 03:18 PM

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

bootstrap怎麼插入圖片 bootstrap怎麼插入圖片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

bootstrap怎麼設置框架 bootstrap怎麼設置框架 Apr 07, 2025 pm 03:27 PM

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

bootstrap怎麼看日期 bootstrap怎麼看日期 Apr 07, 2025 pm 03:03 PM

答案:可以使用 Bootstrap 的日期選擇器組件在頁面中查看日期。步驟:引入 Bootstrap 框架。在 HTML 中創建日期選擇器輸入框。 Bootstrap 將自動為選擇器添加樣式。使用 JavaScript 獲取選定的日期。

bootstrap按鈕怎麼用 bootstrap按鈕怎麼用 Apr 07, 2025 pm 03:09 PM

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

See all articles