搜索
首页web前端css教程用CSS文本阴影创建嬉戏效果

用CSS文本阴影创建嬉戏效果

让我们看一下如何使用CSS文本阴影属性来创建真正的3D外观文本。您可能会认为文字阴影能够在文本后面涂上模糊,梯度外观的颜色,您将是对的!但是,就像盒子阴影一样,您可以控制阴影有多模糊,包括将其完全降低到没有模糊。结合逗号分开的阴影并堆叠它们,就是我们将在这里做的CSS骗局。

到最后,我们将有一些看起来像这样的东西:

快速刷新文字阴影

语法是这样的:

 .el {
 文本阴影:[x-fartset] [y-offset] [blur] [color];
}
  • X折:位于X轴上。正值将阴影向右移动,负值将阴影向左移动。 (必需的)
  • Y-Orkset:Y轴上的位置。正值将阴影移至底部,负值将阴影移至顶部。 (必需的)
  • 模糊:阴影应该有多少模糊。值越高,阴影越柔软。默认值为0px(无模糊)。 (选修的)
  • 颜色:阴影的颜色。 (必需的)

第一个阴影

让我们开始通过仅添加一个阴影来创造效果。阴影将向右侧向右侧推动6px,底部将6px推到6px:

 :根 {
 -Text:#5362f6; /* 蓝色的 */
  - 阴影:#e485f8; /* 粉色的 */
}


.playful {
 颜色:var( - 文本);
 文本阴影:6px 6px var( -  shadow);
}

用更多阴影创建深度

目前,我们只有一个平坦的阴影 - 还没有太多的3D。我们可以通过将更多文本阴影实例添加到同一元素来创建深度并将阴影连接到实际文本。它所需要的只是分类它们。让我们从中间添加一个开始:

 .playful {
 颜色:var( - 文本);
 文本阴影:6px 6px var( - 阴影),
        3PX 3PX var( - 阴影);
}

这已经到了某个地方,但是我们需要添加更多阴影才能使其看起来不错。我们添加的步骤越多,最终结果就越详细。在此示例中,我们将从6PX 6PX开始,并以0.25px增量逐渐构建,直到达到0。

 .playful {
 颜色:var( - 文本);
 文字阴影: 
  6px 6px var( - 阴影), 
  5.75px 5.75px var( - 阴影), 
  5.5px 5.5px var( - 阴影), 
  5.25px 5.25px var( - 阴影),
  5px 5px var( - 阴影), 
  4.75px 4.75px var( - 阴影), 
 4.5px 4.5px var( - 阴影), 
  4.25px 4.25px var( - 阴影),
 4px 4px var( - 阴影),
  3.75px 3.75px var(-shadow),
 3.5px 3.5px var( - 阴影),
  3.25px 3.25px var(-shadow),
  3px 3px var( - 阴影),
  2.75px 2.75px var(-shadow),
   2.5px 2.5px var( - 阴影),
  2.25px 2.25px var(-shadow),
   2px 2px var( - 阴影),
  1.75px 1.75px var( - 阴影),
  1.5px 1.5px var( - 阴影),
   1.25px 1.25px var( - 阴影),
  1px 1px var(-shadow),
   0.75px 0.75px var( - 阴影),
  0.5px 0.5px var( - 阴影),
 0.25px 0.25px var( - 阴影);
}

用SASS简化代码

结果可能看起来不错,但是现在的代码很难读取和编辑。如果我们想使影子更大,我们必须进行大量复制和粘贴才能实现它。例如,将阴影大小提高到10px将意味着手动增加16个阴影。

这就是SCSS出现的地方。我们可以使用函数来自动生成所有阴影。

 @function textshadow($ precision,$ size,$ color){
 $ value:null; 
 $偏移:0;
 $长度:$ size *(1 / $ precision)-1;


 @for $ i从0到$ length {
  $偏移:$ offset $ precision;
  $ shadow:$ offset px $ offse px $ color;
  $ value:append($ value,$ shadow,comma);
 }


 @return $ value;
}


.playful {
 颜色:#5362F6;
 文本阴影:textshadow(0.25,6,#e485f8);
}

函数文本莎多(TextShadow)采用三个不同的参数:阴影的精度,大小和颜色。然后,它创建一个循环,其中偏移量增加了$ PRICINE(在这种情况下为0.25px),直到达到阴影的总尺寸(在这种情况下为6px)。

这样,我们可以轻松地增加阴影的大小或精度。例如,要创建一个10px大的阴影,并以0.1px的形式增加,我们只需要在代码中更改它:

文本阴影:textshadow(0.1,10,#e485f8);

交替的颜色

我们希望通过购买交替的颜色来稍微增添一点东西。我们将用包裹在跨度包裹的单个字母中(可以手动完成,也可以使用React或JavaScript自动化)。输出看起来像这样:

 <p aria-label="“洗手!”">
 <span aria-hidded="“" true> w </span> <span aria-hidded="“" true> a </span> <span aria aria-hidded="“" true> s </span> <span aria aria-hidded="“" true> h </span> h  ...
</p>

然后,我们可以在跨度上使用:nth-​​child()选择器来更改其文本和阴影的颜色。

 .playful跨度:nth-​​child(2n){
 颜色:#ED625C;
 文本阴影:textshadow(0.25,6,#f2a063);
}

如果我们在香草CSS中做到了这一点,那么这就是我们最终得到的:

 .playful跨度{
 颜色:var( - 文本);
 文字阴影: 
  6px 6px var( - 阴影),
  5.75px 5.75px var( - 阴影),
  5.5px 5.5px var( - 阴影),
  5.25px 5.25px var( - 阴影),
  5px 5px var( - 阴影),
  4.75px 4.75px var( - 阴影),
  4.5px 4.5px var( - 阴影),
  4.25px 4.25px var( - 阴影),
  4px 4px var( - 阴影),
  3.75px 3.75px var(-shadow),
  3.5px 3.5px var( - 阴影),
  3.25px 3.25px var(-shadow),
  3px 3px var( - 阴影),
  2.75px 2.75px var(-shadow),
  2.5px 2.5px var( - 阴影),
  2.25px 2.25px var(-shadow),
  2px 2px var( - 阴影),
  1.75px 1.75px var( - 阴影),
  1.5px 1.5px var( - 阴影),
  1.25px 1.25px var( - 阴影),
  1px 1px var(-shadow),
  0.75px 0.75px var( - 阴影),
  0.5px 0.5px var( - 阴影),
  0.25px 0.25px var( - 阴影);
}


.playful跨度:nth-​​child(2n){
 -Text:#ED625C;
  - 阴影:#f2a063;
}

我们可以用其他颜色和索引重复几次,直到达到我们喜欢的模式:

奖励积分:添加动画

使用相同的原理,我们可以通过添加动画来使文本更加栩栩如生。首先,我们将添加一个重复的动画,使每个跨度上下移动:

 .playful跨度{
 颜色:#5362F6;
 文本阴影:textshadow(0.25,6,#e485f8);
 位置:相对;
 动画:散射1.75s无限;
}

我们可以使用偏爱的动作媒体查询来进一步优化它。这样,不想动画的人们就不会得到它。

 .playful跨度{
  颜色:#5362F6;
  文本阴影:textshadow(0.25,6,#e485f8);
  位置:相对;
  动画:散射1.75s无限;
}

@Media屏幕和(预先减少的动作:降低){
  动画:无;
}

然后,在每个nth-child(n)中,我们将添加不同的动画延迟。

 .playful跨度:nth-​​child(2n){
 颜色:#ED625C;
 文本阴影:textshadow(0.25,6,#f2a063);
 动画 - 延迟:0.3s;
}

以上是用CSS文本阴影创建嬉戏效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
@KeyFrames vs CSS过渡:有什么区别?@KeyFrames vs CSS过渡:有什么区别?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

使用页面CMS进行静态站点内容管理使用页面CMS进行静态站点内容管理May 13, 2025 am 09:24 AM

我知道,我知道:有大量的内容管理系统选项可用,而我进行了几个测试,但实际上没有一个是一个,y&#039;知道吗?怪异的定价模型,艰难的自定义,有些甚至最终成为整个&

链接HTML中CSS文件的最终指南链接HTML中CSS文件的最终指南May 13, 2025 am 12:02 AM

链接CSS文件到HTML可以通过在HTML的部分使用元素实现。1)使用标签链接本地CSS文件。2)多个CSS文件可通过添加多个标签实现。3)外部CSS文件使用绝对URL链接,如。4)确保正确使用文件路径和CSS文件加载顺序,优化性能可使用CSS预处理器合并文件。

CSS Flexbox与网格:全面评论CSS Flexbox与网格:全面评论May 12, 2025 am 12:01 AM

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

如何包括CSS文件:方法和最佳实践如何包括CSS文件:方法和最佳实践May 11, 2025 am 12:02 AM

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。

Flexbox vs Grid:我应该学习两者吗?Flexbox vs Grid:我应该学习两者吗?May 10, 2025 am 12:01 AM

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

轨道力学(或我如何优化CSS KeyFrames动画)轨道力学(或我如何优化CSS KeyFrames动画)May 09, 2025 am 09:57 AM

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSS动画:很难创建它们吗?CSS动画:很难创建它们吗?May 09, 2025 am 12:03 AM

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具