HTML+CSS入门 CSS文本效果
诗诗 2018-03-13 来源 :网络 阅读 1282 评论 0

摘要:本篇HTML+CSS入门将详细介绍CSS文本效果,看完这篇文章会让你对CSS文本效果有更加清晰的理解和运用。

前面的话

本篇HTML+CSS入门将详细介绍CSS文本效果,看完这篇文章会让你对CSS文本效果有更加清晰的理解和运用。

 

凸版印刷效果

  这种效果尤其适用于中等亮度背景配上深色文字的场景;但它也可用于深色底、浅色字的场景,只要文字不是黑色并且背景不是纯黑或纯白就行

【浅色背景深色文本】

  background:hsl(210,13%,60%);

  color:hsl(210,13%,30%);

  text-shadow:0 .03em .03em hsla(0,0%,100%,.8);

【深色背景浅色文本】 

  background:hsl(210,13%,40%);

  color:hsl(210,13%,75%);

  text-shadow:0 -1px 1px black;

 

空心字效果

  color:white;

  text-shadow:1px 1px black,-1px -1px black,1px -1px black,-1px 1px black;

 

发光效果

  background:#203;

  color:#ffc;

  text-shadow:0 0 .1em,0 0 .3em;

 

模糊效果


div{

  width:200px;

  background:#203;

  color:transparent;

  text-shadow:0 0 .1em white,0 0 .3em white;

  transition:.5s;

}

div:hover{

  color:white;

}  


鼠标移入后,文字由模糊变清晰

 

凸起效果

  文字凸起(伪3D)效果的主要思路就是使用一长串累加的投影,不设模糊并以1px的跨度逐渐错开,使颜色逐渐变暗,然后在底部加一层强烈模糊的暗投影,从而模拟完整的立体效果

  background:#58a;

  color:white;

  text-shadow:0 1px hsl(0,0%,85%),0 2px hsl(0,0%,80%),0 3px hsl(0,0%,75%),0 4px hsl(0,0%,70%),0 5px hsl(0,0%,65%),0 5px 10px black;

 

闪烁效果

@keyframes blink-smooth{50%{color:transparent;}}

div{

  animation:.5s blink-smooth infinite alternate linear;

}

 

打字效果

  有些时候,希望一段文本中的字符逐个显现,模拟出一种打字的效果。这个效果在技术类网站中尤为流行,用等宽字体可以营造出一种终端命令行的感觉

  核心思路就是让容器的宽度成为动画的主体把所有文本包裹在这个容器中,然后让它的宽度从0开始以步进动画的方式、一个字一个字地扩张到它应有的宽度

  这个方法是局限的,它并不适用于多行文本


@keyframes typing{0%{width:0;}}

@keyframes caret{50%{border-color:transparent;}}

div{

  width:9em;

  animation:typing 4s steps(9) infinite ,caret .5s steps(1) infinite;

  white-space: nowrap;

  overflow: hidden;

  border-right:1px solid;

}


环形文字

【SVG】

  使用SVG来实现环形文字较为简单


<style>

div{width: 100px;height: 100px;border:1px solid black;}

svg{margin-left: -20px;}</style><div>

  <svg height="100" version="1.1" xmlns="//www.w3.org/2000/svg" >

    <path id="my_path"  d="M 50 50 a 20 20, 0, 1, 1, 0 1 Z" fill="none"/>

    <text>

      <textPath xlink:href="#my_path">小火柴的蓝色理想</textPath>

    </text>

  </svg></div>


 

文字融合

  模糊滤镜叠加对比度滤镜可以产生融合效果

  [注意]文字融合的思路来自chokcoco的博文CSS滤镜技巧与细节

  1、模糊滤镜filter: blur(): 给图像设置高斯模糊效果

  2、对比度滤镜filter: contrast(): 调整图像的对比度

  当它们同时使用时,产生了奇妙的融合现象,通过对比度滤镜把高斯模糊的模糊边缘给隐藏,利用高斯模糊实现融合效果


<style>

.box{filter: contrast(20);background: #fff;overflow: hidden;}

.left,.right{float: left;width: 100px;height: 100px;border-radius: 50%;filter: blur(6px);}

.left{background-color: black;}

.right{background-color: red;margin-left:-20px;}</style><div class="box">

    <div class="left"></div>

    <div class="right"></div>    </div>


  为其中一个元素添加动画后,效果更明显


<style>

.box{filter: contrast(20);background: #fff;overflow: hidden;padding:10px;}

.left,.right{display:inline-block;width: 100px;height: 100px;border-radius: 50%;filter: blur(6px);}

.left{background-color: black;position:absolute;left:0;animation: move 2s infinite alternate;}

@keyframes move{100%{left:250px;}}

.right{background-color: red;margin-left:120px;}</style><div class="box">

    <div class="left"></div>

    <div class="right"></div>    </div>


【文字显隐效果】

  首先,利用blur()和contrast()实现一个文字显隐效果


<style>

.box{filter: contrast(1);background: #fff;overflow: hidden;padding:10px;font:bold 20px/20px '宋体';}

.text{filter:blur(0px);transition:1s;}

.box:hover{filter: contrast(20);}

.box:hover .text{filter:blur(3px);}</style><div class="box">

    <span class="text">小火柴的蓝色理想</span></div>


  鼠标移入后,文字消失;移出后,文字恢复

【文字融合】

  下面来配合字符间距letter-spacing来实现文字融合效果


<style>

.box{filter: contrast(1);background: #fff;overflow: hidden;padding:10px;font:bold 20px/20px '宋体';}

.text{filter:blur(0px);transition:1s;}

.box:hover{filter: contrast(20);}

.box:hover .text{filter:blur(3px);letter-spacing: -1em}</style><div class="box">

    <span class="text">小火柴的蓝色理想</span></div>


  鼠标移入后,文字融合;移出后,文字恢复


希望这篇文章可以帮助到你。总之,同学们,你想要的职坐标IT频道都能找到!


本文由 @诗诗 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程