css實現動態陰影
建立與類似的陰影box-shadow 而是基於元素本身的顏色。
程式碼實現:
<div class="dynamic-shadow-parent">
<div class="dynamic-shadow"></div>
</div>
<style>
.dynamic-shadow-parent {
position: relative;
z-index: 1;
}
.dynamic-shadow {
position: relative;
width: 10rem;
height: 10rem;
background: linear-gradient(75deg, #6d78ff, #00ffb8);
}
.dynamic-shadow::after {
content: '';
width: 100%;
height: 100%;
position: absolute;
background: inherit;
top: 0.5rem;
filter: blur(0.4rem);
opacity: 0.7;
z-index: -1;
}
</styel>
複製程式碼
效果如下:
說明
程式碼片段需要一些複雜的情況來正確堆疊上下文,這樣偽元素將定位在元素本身的下面,同時仍然可見。
position: relative
在父元素上為子元素建立笛卡爾定位上下文。
z-index: 1
建立新的堆疊內容。
position: relative
在子級上建立偽元素的定位上下文。
::after
定義偽元素。
position: absolute
從文件流中取出偽元素,並將其相對於父元素定位。
width: 100%
和height: 100%
調整偽元素的大小以填充其父元素的尺寸,使其大小相等。
background: inherit
使偽元素繼承在元素上指定的線性漸變。
top: 0.5rem
將偽元素從其父元素稍微向下偏移。
filter: blur(0.4rem)
將模糊偽元素以在下面建立陰影的外觀。
opacity: 0.7
使偽元素部分透明。
z-index: -1
將偽元素定位在父元素後面。
瀏覽器支援91.7 %,需要字首才能獲得完全支援
蝕刻文字
建立文字顯示為“蝕刻”或刻在背景中的效果。
程式碼實現:
<p class="etched-text">I appear etched into the background.</p>
</styel>
.etched-text {
text-shadow: 0 2px white;
font-size: 1.5rem;
font-weight: bold;
color: #b8bec5;
}
</styel>
複製程式碼
效果如下:
說明
text-shadow: 0 2px white
建立白色陰影偏移0px 水平和2px 垂直於原點位置。
背景必須比陰影暗,效果才能發揮作用。
文字顏色應該稍微褪色,使其看起來像是刻在背景上的。
瀏覽器支援98.1 %,沒有警告。
漸變文字
為文字提供漸變顏色。
程式碼實現:
<p class="gradient-text">Gradient text</p>
</styel>
.gradient-text {
background: -webkit-linear-gradient(pink, red);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
}
</styel>
複製程式碼
效果如下:
說明
background: -webkit-linear-gradient(...)
為文字元素提供漸變背景。
webkit-text-fill-color: transparent
使用透明顏色填充文字。
webkit-background-clip: text
用文字剪輯背景,用漸變背景作為顏色填充文字。
瀏覽器支援91.5 %,使用非標準屬性。
這裡推薦一下我的學習交流q.u.n:731771211,裡面都是學習前端的,如果你想製作酷炫的網頁,想學習程式設計。自己整理了一份2018最全面前端學習資料,從最基礎的HTML+CSS+JS【炫酷特效,遊戲,外掛封裝,設計模式】到移動端HTML5的專案實戰的學習資料都有整理,送給每一位前端小夥伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入學習。
點選:加入