用CSS让你的文字更有文艺范

Vince http://www.vince.studio/2017/08/19/%E7%94%A8CSS%E8%AE%A9%E4%BD%A0%E7%9A%84%E6%96%87%E5%AD%97%E6%9B%B4%E6%96%87%E8%89%BA/#more

透明文字,模糊文字,镂空文字,渐变文字,图片背景文字,用CSS让你的文字也有freestyle~

前言

我们做页面涉及字体的时候,最多就是换个color换个font-family,总是觉得没体现出你内心的文艺范,这时是不是抱怨CSS并没有给文字设置什么样式,抱怨是没用哒,我们自己动手,看看能不能“创造”出一些CSS字体样式呢~

透明文字

  1. 用rgba调整透明度 div{ background-color: pink; color: rgba(0, 0, 0, 0.1);}
  1. 用opacity调整遮罩 div{ background-color: pink; opacity: 0.4;}

两种区别是用rgba只是对文字有透明度,而opacity对整个div都有遮罩影响,对比其两个div的背景颜色即可发现区别。

模糊文字

在css中并没有指定文字模糊的样式,但是可以用text-shadow喝-webkit-text-fill-color组合,得出模糊文字,即用text-shadow制造底层模糊文字,用-webkit-text-fill-color填充颜色为透明,例如:

div{ text-shadow: 0 0 5px red; -webkit-text-fill-color: transparent;}

这里的text-shadow将x,y偏移量设置为0,也就是不偏移,设置味5px的模糊程度,重点是下面的fill-color设置为transparent透明,这样就把底层的模糊字体体现出来,效果如下:

镂空文字

这里我们用到-webkit-text-stroke来给文字外围描边,然后在把文字的填充颜色设置为透明,这样就能只显示出文字的外围的描边,也就是我们所说的镂空文字。

div{ font-size: 40px; -webkit-text-stroke: 1px red; -webkit-text-fill-color: transparent;}

效果:

渐变文字

这是个比较有趣的组合方式,CSS中并没有给我们提供文字的渐变,但是我们的background可以做到渐变颜色,那怎么让文字渐变呢,我们上面的一个属性是让文字透明,这样文字底下的东西我们就可以看的到,那我们试想,如果让文字下面的渐变背景颜色显示出来,这样的不就是相当于文字有了背景颜色嘛,我们先试试:

div{ font-size: 40px; background: linear-gradient(to bottom,white,black); -webkit-text-fill-color: transparent;}

然而效果却是:

这里虽然背景有了渐变,但文字直接成了透明,那么我们怎么做到文字外围的背景去除,文字中的背景显示出来,我们知道background-clip是用来设置背景图片在那个区域显示,如果它能让文字中的底下显示,那我们岂不是就能做到我们希望的效果~,没错-webkit-background-clip:text的效果就是指定背景只在文字底下显示,我们再试试:

div{ font-size: 40px; background: linear-gradient(to bottom,white,black); -webkit-text-fill-color: transparent; -webkit-background-clip: text;}

文字渐变效果:

图片背景文字

我们经常在网上看到类似于这样酷炫的图片:

作为一个爱折腾的前端狗,做页面的时候能用CSS达到的效果绝对不求美工给我们高清大图贴页面,自己动手~

我们都知道background-clip是用来设置背景图片的显示位置,如果要用到只在图片上显示背景位置,我们在这里用到了上面说的-webkit-background-clip: text,这个属性能让背景只在文字底下显示,如果文字设置为透明的,那我们就能透过文字,透过文字看到背景图片,这是一个能媲美PS效果的利器属性,代码:

div{ /*背景样式*/ height: 300px; width: 500px; background-size: contain; background-repeat: no-repeat; background-image: url(bg.jpg); /*文字样式*/ font-size: 70px; font-weight: bold; text-align: center; line-height: 300px; /*图片文字样式*/ -webkit-text-fill-color: transparent; -webkit-background-clip: text;}

效果图:

以后小伙伴找你帮忙做这种图片,就再也不需要用PS做啦,CSS几行子代码搞定!

总结

单个CSS看起来似乎只是个简单的样式功能,但是用多个CSS样式组合,能给我们一些惊喜的效果,这篇短文只是简单的列出几个效果,还有更多酷炫的效果等着小伙伴们去挖掘~

原文发布于微信公众号 - 前端桃园(betaoyuan)

原文发表时间:2018-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

元素居中的多种实现方式!

优点:只需在子元素child上设置css样式,不用关心父元素的 缺点:兼容性较差,如果需要兼容,更改html样式,改为table样式

532
来自专栏IMWeb前端团队

居中那些事情

居中那点事 最近碰到一些居中的问题需要处理,这里整理下碰到的问题以及一些解决的方案 文本水平居中 text-align:center; 可以知道,让一个元素水平...

19010
来自专栏前端新视界

使用 canvas 画图时图像文字模糊的解决办法

最近在使用 canvas 画图的时候,遇到了图像文字模糊的问题,解决思路就是根据分辨率绘制不同尺寸的画布。以下是创建高分辨率画布的代码:

772
来自专栏黑白安全

CSS实现毛玻璃透明效果

其实毛玻璃的模糊效果技术上比较简单,只是用到了css滤镜(filter)中的blur属性。但是要做一个好的毛玻璃效果,需要注意很多细节。

713
来自专栏程序员的知识天地

了解CSS3的all属性

兼容性还行, 除了IE不支持,其他浏览器基本上都绿油油,目前自娱自乐,内网项目什么的都是可以用用的。

763
来自专栏菜鸟计划

CSS布局(六) 对齐方式

一、水平居中: (1). 行内元素的水平居中? 如果被设置元素为文本、图片等行内元素时,在父元素中设置text-align:center实现行内元素水平居中,将...

3445
来自专栏前端布道

CSS实现元素居中原理解析

在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了。但就是这样一个从理论上来看似乎实现起来极其简单的,在实践中,它往往难住了很多人。

612
来自专栏极乐技术社区

小程序摄像头使用技巧

1582
来自专栏我分享我快乐

一线UI设计师对APP切图尺寸换算指导

工作后,很多同学还是会问到app切图尺寸的问题。今天分享android和iOS的换算分析,希望能帮到工作中的你。 1.在Android的显示模式为mdpi的时...

34514
来自专栏Bingo的深度学习杂货店

水平居中和垂直居中

本章介绍几种常见的水平居中和垂直居中的实现方式 <!DOCTYPE html> <html> <head> <title>水平居中和垂直居中</titl...

2883

扫码关注云+社区