關於漸變屬性值的一些理解

2021-09-12 11:03:19 字數 1989 閱讀 2922

首先,對於漸變(gradient)主要有兩種方式,一種為線性漸變(linear-gradient),一種為徑向漸(radical-gradient)

本篇著重討論線性漸變。

漸變的語法:

background: linear-gradient(direction, color-stop1, color-stop2, …);

其中對於這個gradient軸也要有一定的了解(類似於彈性盒的主軸和副軸)

下面是一些運用中的思考:

在bule後面再加入乙個相同起點,不同顏色的屬性,會造成其後來屬性覆蓋了前面相同位置的屬性,如:

但是如果改為此種

body div:nth-child(1)

紅色塊,藍色塊,不會被覆蓋,會出現這種效果

如果按之前的理解,從0~50%中是為藍色,會覆蓋前面的紅色,但結果並沒有。這是乙個很值得思考的問題。

下面就試著討論一下這個問題,舉乙個簡單的例子:

很顯然,如果沒有中間的0%去『調和』兩端,那麼,中間會出現25%的漸變區域,但現在沒有出現,那麼這個0%到底起到了什麼作用在中間。其中的邏輯先行這樣理解:

由於25%比0%大,則預設從0%到25%的這段裡被紅色佔據,且這一規則後只需要再計算從25%到50%之間的顏色,即藍色!

以下貼出來一些作品:(有一些小細節需要注意一下)

分析一下這個,在不用div巢狀的情況下,寫出該效果。

即,使用背景顏色寫出,但要有一點需要注意。

background-size與background-image想呼應調整,著重區分下其與整個背景色background的區別。

此圖即利用了該原理,使用乙個size塊,然後使其為一半的白色透明色(出現亮的效果,如果黑色透明色即為暗的效果),另一半與背景色塊相同,即可出來此效果。

tips:別忘了加repeat這個屬性值,不然達不到預期效果

其在給已存在背景色的塊上,再需要蒙上一層顏色時候的作用十分優秀。

body div:nth-child(1)

由此塊可以延伸出很多經典圖形

2.在基礎上延伸一點的圖形

body  div:nth-child(4)

/* 在第三個圖形上加入透明與顏色之間鮮明的分隔線的樣式 tips:注意對於image應看做50 50的方格對待*/

/* 相當於大塊豎向分了四份,每一小份又分了四份,再調出想要的樣式即可 */

/* 白透明 透明 白透明 透明 */

對於其整體旋轉為部分旋轉所組成

關於右值引用的一些理解

右值引用之前看過不少次了,但過一段時間就忘了,這裡簡單整理一下我的理解 右值引用主要用來實現 移動語義 和 完美 1.移動語義 使用上可以用std move 把引數強制轉換成右值 我理解就是和淺拷貝很像,不過淺拷貝是多個指標指向堆上的空間,可能會重複釋放從而出錯,而移動語義是只有乙個指標占有堆上的空...

css的一些屬性值

none 此元素不會被顯示。block 此元素將顯示為塊級元素,此元素前後會帶有換行符。inline 預設。此元素會被顯示為內聯元素,元素前後沒有換行符。inline block 行內塊元素。css2.1 新增的值 none 預設。定義標準的文字。underline 定義文字下的一條線。overli...

vertical align屬性的一些理解與認識

在工作上遇到這個問題,只知道vertical align屬性設定元素的對齊方式,所以自己有必要深入理解vertical align作用,順便整理出來。先了解一下vertical align一些屬性 值描述 baseline 預設。元素放置在父元素的基線上。sub垂直對齊文字的下標。super 垂直對...