要什麼 Photoshop,會這些 CSS 就夠了

来源:https://www.cnblogs.com/wisewrong/archive/2019/07/28/11259490.html
-Advertisement-
Play Games

標題黨一時爽,一直標題黨一直爽 還在上大學那會兒,我就喜歡玩 Photoshop。後來寫網頁的時候,由於自己太菜,好多花里胡哨的效果都得藉助 Photoshop 實現,當時就特別希望 CSS 能像 Photoshop 一樣處理圖片。 隨著對 CSS 的瞭解越多,我發現 CSS 有很多平時用得少(或者 ...


標題黨一時爽,一直標題黨一直爽

 

還在上大學那會兒,我就喜歡玩 Photoshop。後來寫網頁的時候,由於自己太菜,好多花里胡哨的效果都得藉助 Photoshop 實現,當時就特別希望 CSS 能像 Photoshop 一樣處理圖片。

隨著對 CSS 的瞭解越多,我發現 CSS 有很多平時用得少(或者不會用),但非常厲害的屬性。這些屬性實現了很多 Photoshop 的功能,比如濾鏡、混合模式。

我簡單整理了一下,由於這些屬性的功能十分強大,每一個屬性都能單獨成文,所以這裡只是做一個目錄。

 

一、漸變 Gradient

漸變在 PS 裡面是一個很常用的功能,在工作中用到 CSS 漸變的場景也不少

但除了簡單的線性漸變、徑向漸變之外,還可以用漸變做出這樣的效果:

甚至是用漸變做一個進度條:

 

相關文章:
《使用 CSS 漸變》

《CSS3 Gradient 漸變還能這麼玩》

 

 

二、倒影 box-reflect

這個屬性可以使某個 DOM 元素產生一個倒影,並且可以規定倒影的方向和距離

另外還可以給這個倒影添加一個遮罩,比如一個透明漸變:

-webkit-box-reflect: below -7px linear-gradient(to bottom,transparent,rgba(0,0,0, 0.4));

 

相關文章:

《-webkit-box-reflect》

《CSS 倒影》

 

 

三、陰影 box-shadow / text-shadow

又是一個很常見的屬性,但通常都是用來做一些簡單的陰影,比如:

但結合 animation 與 transform,就可以做出這樣的動畫:

CodePen Demo -- CSS Checker Illusion( By David Khourshid )

 

相關文章:

《box-shadow》

《你所不知道的 CSS 陰影技巧與細節》

 

 

四、 裁剪 clip-path

這個屬性可以創建一個裁剪區域,讓元素只顯示區域內的內容,有點像 Photoshop 中“路徑+蒙版”的效果

這個屬性值最強大的地方在於,可以非常自由的繪製多邊形:

 

 

相關文章:

《clip-path》

《CSS clip-path maker》

《不可思議的CSS之CLIP-PATH》

 

 

五、蒙板 mask

蒙板的效果是在原圖形上面,在蒙上一層圖形,得到一個新的圖形

由於蒙板圖形可以是透明的,所以有些用 clip-path 實現的效果,也可以用 mask 實現

在我看來,mask 和 background 是高度類似的,區別在於 background 位於底層,而 mask 在頂層

 

相關文章:

《CSS遮罩CSS3 mask/masks詳細介紹》

《CSS3蒙版》

《CSS3 的一對孿生兄弟之 background & mask》

 

 

六、濾鏡 filter

濾鏡應該也算比較常用的屬性了,同一張圖疊加不同的濾鏡之後,能呈現各種各樣的效果:

但這隻是基本用法!

filter 可以做出很多漂亮的效果,特別是結合 animation 之後,這些高級技巧可以參考下麵的“相關文章”,看完之後我都驚呆了

 

相關文章:

《filter》

《你所不知道的 CSS 濾鏡技巧與細節》

《QQ 未讀消息的拖拽動態效果是如何實現的? - 祥子的回答 - 知乎》

《從酷炫的果凍菜單談起 CSS3 filter 屬性》

 

 

七、混合模式 blend-mode

如果對 Photoshop 的混合模式很熟悉的話,這個屬性也非常好理解

在 CSS 裡面,有 mix-blend-mode 和 background-blend-mode 兩種用法

呈現的效果和上面的 filter 類似,也是讓原圖形疊加之後產生化學反應,比如用 CSS 做一個抖音的 LOGO:

CodePen Demo -- 使用 mix-blend-mode 實現抖音 LOGO

 

相關文章:

《混合模式》

《mix-blend-mode的使用》

《探究 CSS 混合模式\濾鏡導致 CSS 3D 失效問題》

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 01.JDBC連接池_連接池的概念: 1).什麼是連接池:對於多用戶程式,為每個用戶單獨創建一個Connection,會使程式降低效率。這時我們可以創建一個"容器", 這個容器中,先緩存一些Connection對象,有用戶請求,就從池中取出一個Connection對象,當用戶使用完畢, 再將這個Co ...
  • #查詢products表記錄SELECT * FROM products WHERE price > 2000;-- 單行註釋/* 多行註釋*/#創建資料庫CREATE DATABASE hei66_day19_db;hei66_day19_db#查看資料庫SHOW DATABASES;#查看某個數 ...
  • 我們來說一下表的增刪改查的基本語法: 首先建立一個簡單的薪資表: create table salary(id int primary key auto_increment,sname varchar(10) not null default ' ',gender char(1) not null ...
  • 在日常的產品項目需求中,經常會有列表展示類的需求,在Android中常用的做法是收集數據源,然後創建列表適配器Adapter,將數據源傳遞到Adapter中,最終進行列表數據的展示,那麼在Flutter中如何處理列表數據呢? 在Flutter中,用ListView來顯示列表項,其支持垂直和水平方向... ...
  • float浮動會使父元素高度塌陷,父級元素不能被撐開,所以導致背景顏色不能被撐開 解決方法: ...
  • 1. 對象的簡單介紹與一些註意事項 JavaScript中具有幾個簡單數據類型:數字、字元串、布爾值、null值以及undefined值。除此之外其餘所有值(包括數組、函數,甚至正則表達式)都是對象。數字、字元串以及布爾值錶面是對象(因為他們具有方法),但它們是不可變的,只是JavaScript在引 ...
  • 2019/07/28 【首先聲明】:創建博客是想分享HTML5+CSS+JavaScript基礎知識,幫助剛開始學習的萌新掌握基礎的知識,除了按照從前往後,從易而難的順序系統的分享相關知識帖,也會適當的在每個技術知識帖子最下方,附上幾個適合當前分享出來的知識點的練習題,然後在下一個帖子的開頭,會先分 ...
  • 最近學習cesium的3D引擎,有關圖層切換的例子比較少,在官網上看見了一些例子加以自己的理解。投機了一種近似於圖層切換的效果。 這種圖層切換每次點擊按鈕時,會把其他的數據和實體給刪除。然後再創建或載入一個新的 閑話不多說我們直接上代碼 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...