纯CSS实现四种方式的文字对比色效果
时间:2023-03-28 12:26:08
HTML
如上图,文字会随着界面的交互变化修改文字的颜色,形成对比色,让普通的文字产生醒目的效果.如果你关注设计和动画效果,你一定见过很多这样的效果,类似的交互效果出现在一些更注重设计的网站上。本文将详细讲解哪些方案可以实现文字对比色效果。动画效果1.文字的蓝色底色从左到右延伸到整个元素。文字底色随底色覆盖过程而变化,两段文字颜色不同。实现过程如图所示。两种颜色的背景是两个元素,一个绿色框和一个蓝色框,其中绿色框使用比蓝色框更高的z-index;通过改变蓝色框Box的宽度来覆盖绿色;框中文字内容的宽度是固定的,否则两段文字不能刚好重叠。核心代码如下:前端开发南城FE
前端开发南城FE .side{显示:网格;高度:100vh;溢出:隐藏;放置项目:中心;位置:绝对;宽度:100%;}.side.title{字体大小:2vw;边距:0px10vw;文本对齐:居中;宽度:80vw;}#left-side{宽度:50%;z-index:2;}动画效果2随着页面滚动,灰色区域逐渐变大。原效果来自灰色区域的一张图片,为了GIF的加载速度,改为灰色背景。图片变大的同时,文字也变小,逐渐融入到方框内部。文字颜色由框外黑色变为框内白色,形成文字对比效果。实现过程这个效果比本文的动画效果1要复杂一些。不再只是一个维度的变化形成对比色,而是多个维度同时发生变化。大体原理和效果差别不大,只是略有不同。整体还是两个框,中间灰色区域的元素级z-index高于纯文本元素。两个元素中文本内容的大小是固定的。灰色元素使用clip-path来裁剪元素背景。示例中使用了inset()来裁剪矩形,其他形状也可以。核心代码如下:
南城FE