我稱之為“抬起窗簾”的CSS效應會在滾動時創建一個視覺上的過渡。背景從黑暗轉移到光線,而上面的粘性內容從光到黑暗轉變。
這是在現實世界中的外觀:[link to示例 - 如果可用的話,請替換為實際鏈接]
準備學習如何創造這種效果?讓我們研究一個簡單的HTML和CSS實現。
為了清楚起見,我們將使用簡化的版本:
<div class="curtain"> <div class="invert"> <h2>部分標題</h2> </div> </div>
這使用一個.curtain
容器來進行背景效果,一個.invert
子元素用於粘性內容,並且<h2></h2>
為了標題。
我們將定義CSS變量以便於自定義:
:根 { - 敏:98VH; -color1:小麥; -color2:午夜藍色; }
這些變量控制容器高度( --minh
),淺色( --color1
)和深色( --color2
)。
.curtain
元素使用線性梯度進行背景拆分,並為額外的底部空間進行min-height
:
。窗簾 { 背景圖像:線性級別(底部,var(-oloc2)50%,var(-color1)50%); } .curtain :: after { 內容: ””; 顯示:塊; 最小值:var(-inh); }
::after
偽元素產生了額外空間的錯覺,從而確保了粘性內容保留在容器中。
.invert
類樣式的粘性內容:
.invert { 位置:粘性; 頂部:20px; 混合模式:差異; 顯示:Flex; 準項目:中心; Jusify-content:中心; 最小值:var(-inh); } H2 { 顏色:var(-color1); }
position: sticky
和top
產生粘性效果。 mix-blend-mode: difference
將內容顏色與背景梯度混合在一起,從而產生反效應。 Flexbox中心內容。
mix-blend-mode: difference
會產生反轉效果。有關mix-blend-mode
值的可視化說明,請參見此CSS-tricks Almanac演示:[鏈接到CSS-Tricks演示 - 如果可用,請替換為實際鏈接]。
可以在此處找到實時展示效果的演示:[鏈接到演示 - 如果可用的話,請替換為實際鏈接]
重要說明:
mix-blend-mode: difference
與某些屬性(例如transform
無法正常工作。該技術提供了一種干淨的瀏覽器兼容解決方案,用於僅使用HTML和CSS創建視覺上吸引人的“抬高窗簾”效果。在評論中讓我知道您將如何使用此效果!
以上是如何在CSS中產生'抬高窗簾”效應的詳細內容。更多資訊請關注PHP中文網其他相關文章!