1. 程式人生 > >CSS並不簡單--帶你認識不一樣的漸變

CSS並不簡單--帶你認識不一樣的漸變

這篇文章主要分享CSS3中linear-gradient和radial-gradient的知識,帶給大家使用漸變的另一個角度。

一、線性漸變

這裡需要大家先去看一下基本語法,再看接下來的例子。

    linear-gradient(90deg,red 20%,blue 50%,yellow 80%);

image

很顯然通過這張圖,你會大概的明白設定這些引數的作用。雖然我並沒有用什麼文字去解釋它。(所以當你看不明白定義的時候,一定要實踐。)
接下來,我們要搞點事情。我們將顏色的分隔點重疊。

    width: 300px;
    height: 200px;
    background
: linear-gradient(90deg,blue 100px,#fff 100px,#fff 200px,red 200px);

image

沒錯這就是上述漸變程式碼產生的效果,是不是感覺打破你以前對漸變的印象。
下面我們利用linear-gradient實現更酷的效果,比如:
image

是不是感覺已經突破自己對漸變的認識。讓我來說一下實現這個背景的思路:這是個有規律的圖案,我們要找到它的基本圖案,我相信你已經找到了。
我們需要用到的知識點:

  • background支援宣告多個linear-gradient,通過逗號分隔;
  • 當你宣告多個linear-gradient,最先宣告的,離使用者越近。(這裡就需要我們考慮遮蓋的問題,一般採用transparent);
  • 還沒掌握background的簡寫方式,可是不行的哦;
  • background-repeat、background-size和background-position的合理結合。
    width: 410px;
    height: 410px;
    background: linear-gradient(rgb(2,222,222) 10px, transparent 10px) repeat left top / 40px,
                linear-gradient(90deg,rgb(2,222,222) 10px, transparent 10px) repeat left
top / 40px;

你看看,以前實現這樣的效果,我們只能苦苦哀求美工切圖,現在在CSS3的浪潮中,我們可以自給自足(^_^)。
而且通過漸變我們可以實現背景顏色的動畫,而不需要消耗額外的HTML元素達到我們預期的效果。例子:
image

    /*
     *  這裡用scss寫的,對新手不太友好,抱歉(-_-)
     */
    @mixin menuaction($color) {
        background: linear-gradient($color 100%, transparent 100%) no-repeat center bottom / 100% 10%;
        &:hover {
            background-size: 100% 100%;
            color: #fff;
        }
    }

二、徑向漸變

基本上徑向漸變與線性漸變差不多,只不過它是由中心點向外擴散。所以我這裡就不再贅述。
話不多說,先畫個同心圓:
image

    border-radius: 50%;
    background: radial-gradient(circle,rgb(22,222,111) 0,rgb(22,222,111) 50px,red 50px,red 100px, rgb(222,222,1) 100px, rgb(222,222,1) 150px,rgb(222,2,111) 150px);

最後以什麼結束呢,哈哈最近各種優惠券,那我們用漸變的知識來搞張優惠券吧:
image

核心程式碼如下:

    width: 300px;
    height: 120px;
    background: radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(transparent 0, transparent 5px, rgb(247,245,201) 5px) no-repeat,
                radial-gradient(#fff 0, #fff 10px, rgb(247,245,201) 10px) no-repeat,
                radial-gradient(#fff 0, #fff 10px, rgb(247,245,201) 10px) no-repeat,
                linear-gradient(90deg,transparent 10px, rgb(247,245,201) 10px);
            background-size: 20px 20px,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px,60px 60px,60px 60px,100% 100%;
            background-position: -10px 0,-10px 20px,-10px 40px,-10px 60px,-10px 80px,-10px 100px,60px -30px,60px 90px,left center;

上面程式碼應該把size和position放在簡寫屬性裡(我就不改了。。。),到此大家應該會對漸變有個新的理解吧。

覺得不錯的同學,來一波關注吧,你的關注就是我寫作的動力。
更多文章 簡書
原始碼: GitHub

相關推薦

CSS並不簡單--認識一樣漸變

這篇文章主要分享CSS3中linear-gradient和radial-gradient的知識,帶給大家使用漸變的另一個角度。 一、線性漸變 這裡需要大家先去看一下基本語法,再看接下來的例子。 linear-gradient(90d

Android原始碼分析—認識一樣的AsyncTask(串並行)

前言 什麼是AsyncTask,相信搞過android開發的朋友們都不陌生。AsyncTask內部封裝了Thread和Handler,可以讓我們在後臺進行計算並且把計算的結果及時更新到UI上,而這些正是Thread+Handler所做的事情,沒錯,AsyncTask

從D&G事件,認識靠譜的義大利!

從D&G事件,帶你認識不靠譜的義大利! 一. D&G大秀本將如期舉行,但其設計師卻對中國人肆無忌憚公然辱罵,引起了惡劣後果。 此事曝光後,迅速引爆網路,娛樂圈眾明星紛紛表態拒絕出席晚宴,迪麗熱巴和王俊凱終止與D&G合作。輿論一片譁然,紛紛喊出讓這個牌子滾出中國。

壓敏電阻選型,瞭解一樣的VDR

壓敏電阻選型,帶您瞭解不一樣的VDR   壓敏電阻(英文簡稱VDR),看上去,是一個陌生又很專業的東西,但是,在我們的日常生活中,卻隨處可見,比如在家用電器、汽車電子系統、電源系統、安防系統、電動機保護、浪湧抑制器等領域都能捕捉到其身影。電路保護元器件壓敏電阻的應用,一般都不在明

Just Waiting for You!個性化推薦領略一樣的演算法之美

2016年,SDCC·中國軟體開發者大會相繼走進了上海、深圳、成都、杭州各地。11月18日-20日將在北京完美收官,屆時年度最受歡迎的企業、講師將在這裡齊聚一堂,約百位講師將圍繞電商架構、程式語言、前端開發、微信開發、視訊直播、推薦演算法、Spark實踐等方面,

還有人認識通訊詐騙,短信驗證碼認識一下

col 手機號 jpg 數據庫 平臺 獲取 gsm信號 第三方服務 關鍵技術 首先進行一下自我介紹,短信驗證碼本碼。短信驗證碼:網站或者客戶端應用需要接入短信驗證碼(手機驗證碼)的功能,可以實現註冊用戶的手機號碼正確性校驗,確保用戶填寫的手機號碼的真實性。現在已經完全融入了

七夕 美中給一個一樣的情人節

孕媽 七夕 情人節迢迢牽牛星,皎皎河漢女,纖纖擢素手,劄劄弄機杼....”傳古至今,數不盡的詩詞歌賦描寫了唯美浪漫的七夕節,一年一度的七夕就要到了,是時候給單身汪撒上一波狗糧啦~   都說孩子上輩子是父母的情人,準爸爸、孕媽媽們更是因為有了寶寶而心情激動,和“小情人”有說不盡的情話、道不盡的溫柔,迫不

智慧商場,給顧客一樣的體驗

人性 包括 智能 體驗 手機 其中 在線 硬件 有效 數據顯示,在雙十一當天阿裏巴巴旗下各平臺總交易額達到1682億元,其中無線占比達到90%。當今是電商高速發展的時代,實體店受到了空前的打擊。這個時代,數據資產與智能硬件顯得無比重要,借助智能的商業系統,智慧商場開始受到越

老司機認識IP一些基礎的知識

對與IP簡單的認識入門對IP得一個簡單認識ip地址 ip address 作用: 標識一個節點的網絡地址! 地址組成{點分十進制}:-一共分為32個二位進制-轉換為4個十位進制表示,以. 隔開 子網掩碼:是用來區分網絡位和主機位的 網關 是指一個網絡連接到另外一個網絡的關口 備用配置1專用的ip地址:1

認識ButterKnife

原文連結:http://blog.csdn.net/donkor_/article/details/77879630 前言: ButterKnife是一個專注於Android系統的View注入框架,以前總是要寫很多findViewById來找到View物件,有了ButterKnife可以很輕鬆的

認識Linux中的通配符

查看 inux process water 圖片 顯示 技術 pro 開頭 通配符是一種特殊語句,用來模糊搜索文件,當查找文件夾時,可以使用它來代替一個或多個真正的字符,它使得文件管理更加快速,便捷,大大的提升了工作效率。 常用的通配符有 * 、? 、[] 等(可通過m

認識Oracle索引型別(精)

Oracle索引和MySQL索引是一個概念,都是為了提高資料庫查詢效率,例如字典的目錄,就是一種索引。不同的索引有不同的查詢效率,比如字典的目錄有以拼音首字母的,有偏旁部首的。當我們對所有索引型別有了瞭解之後,就可以針對性的寫出高效的SQL語句、建立最合適的索引。 那Oracle索引都有

認識安裝Oozie所遇之坑

一、常見錯誤一 上傳 Oozie 目錄下的 yarn.tar.gz 檔案到 HDFS所遇之坑: 在oozie的根目錄下執行如此命令: bin/oozie-setup.sh sharelib create -fs hdfs://linux01:8020 -locallib oozie-

NetSuite與SheKnows Media一起認識“她力量”

品牌增長是所有行業的熱門話題,而實現這一目標的道路卻佈滿荊棘。 來自紐約的數字媒體公司SheKnows Media正以自己的步調走在這條路上,在逐步實現著自己革新出版業和激勵所有女性活出自我的目標。 作為女性生活方式數字媒體公司,SheKnows Media的使命是我們所有人都同意的使命

從零到一:認識深度學習!

作者:Zied Haj-Yahia 翻譯:張玲 校對:丁楠雅 本文約2500字,建議閱讀15分鐘。 本文為你簡要介紹深度學習的基本構成、模型優化的幾種方式和模型訓練的一些最佳實踐。 一年多來,我在LinkedIn、Medium和Arxiv上閱讀了不少深度學習相

認識Oracle索引型別

Oracle索引和MySQL索引是一個概念,都是為了提高資料庫查詢效率,例如字典的目錄,就是一種索引。不同的索引有不同的查詢效率,比如字典的目錄有以拼音首字母的,有偏旁部首的。當我們對所有索引型別有了瞭解之後,就可以針對性的寫出高效的SQL語句、建立最合適的索引

一文認識Java泛型基礎

Java泛型基礎 認識泛型 泛型是在JDK1.5之後增加的新功能. 泛型可以解決資料的安全性問題, 主要的原理是在類宣告的時候通過一個標識表示類中某個屬性的型別或者是某個方法的返回值及引數型別. 格式: 訪問許可權 class 類名稱<泛型, …

認識如此優秀的電動車充電器方案

帶你認識一下如此優秀的電動車充電器方案        EN微控制器是低成本、高效能、8 位、全靜態flash 的CMOS 微控制器。英銳恩電動車充電器方案微控制器EN85156晶片採用精密指令,僅有37 條單字/ 單週期指令。整個MCU 是雙時鐘

CSS實現最後一個li樣式一樣

#news .newsmore{ display:block; margin-top: 0; cursor: pointer; border-bottom:1px solid #E0E0E0;

10步認識大資料和雲端計算,圖文並茂讓不再蒙圈

第一步:大資料 “大資料”這個概念是近幾年開始火起來的,現在可謂是無處不在了。在瞭解什麼是大資料之前,我們先了解一下什麼是傳統資料? 傳統資料就是IT業務系統裡面的資料,如客戶資料、財務資料等。這些資料是結構化的,量也不是特別大,一般只是TB級。對比傳統資料,還有一種叫“新資料”,是來源於社