css實現動態陰影、蝕刻文本、漸變文本

css實現動態陰影css

建立與相似的陰影box-shadow 而是基於元素自己的顏色。前端

代碼實現:web

<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>

效果以下:瀏覽器

clipboard.png

說明app

代碼片斷須要一些複雜的狀況來正確堆疊上下文,這樣僞元素將定位在元素自己的下面,同時仍然可見。spa

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 將僞元素定位在父元素後面。code

瀏覽器支持91.7 %,須要前綴才能得到徹底支持blog

蝕刻文本繼承

建立文本顯示爲「蝕刻」或刻在背景中的效果。ip

代碼實現:

<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>

效果以下:

clipboard.png

說明

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>

效果以下:

clipboard.png

說明

background: -webkit-linear-gradient(...) 爲文本元素提供漸變背景。
webkit-text-fill-color: transparent 使用透明顏色填充文本。
webkit-background-clip: text 用文本剪輯背景,用漸變背景做爲顏色填充文本。

瀏覽器支持91.5 %,使用非標準屬性。

web前端開發新手進階q.u.n:731.771.211

相關文章
相關標籤/搜索