文字效果

text-overflow

text-overflow用于处理文字超出隐藏,有两种取值:
  • clip:不显示省略标记,只是简单的剪裁,需要在一定的高度范围内配合overflow:hidden属性使用,不然没有任何效果;
  • ellipsis:对象文本溢出时将显示省略标记,需要配合overflow:hidden;white-space:nowrap一起使用才有效果。
.demo{
            100px;
            padding:10px;
            border:1px solid red;
            margin:100px auto;
        }
<div class="demo"> clip:不显示省略标记,只是简单的剪裁,需要在一定的高度范围内配合overflow:hidden属性使用,不然没有任何效果
        ellipsis:对象文本溢出时将显示省略标记,需要配合overflow:hidden;white-space:nowrap一起使用才有效果
        </div>

 此时,单独再添加text-overflow:clip;界面效果没有任何变化,如果需要实现截取,需要在一定的高度范围内配合overflow:hidden才能有效果。

  

 上面左右两边的代码,最终都是实现中间这样的效果。也就是在没有overflow:hidden的时候,text-overflow是没有任何效果的,而添加了overflow:hidden和一定高度后,所达到的效果同overflow:hidden的效果相同,也就是说,在实际运用中,text-overflow是没有任何意义的。

  

 和上面一样,单独添加text-overflow:ellipsis;效果上和没使用没有区别。

   

 此时,添加了高度和超出隐藏,溢出的内容被隐藏,但是并没有出现期望的省略号,还需要结合文本强制不换行的white-space:nowrap才能达到期望的效果。

 

至此,实现了内容超出后出现省略号的效果,此时输出是完整的,只是受容器大小的影响,而不能全部显示,这与截取是不相同,采用截取的方式,输出的就是显示的,都是不完整的,这种是输出完整而显示不完整。

 word-wrap、word-break、white-space

word-wrap

word-wrap用于处理文本换行,有两种取值:
  • normal:默认值,控制连续文本换行(允许内容顶开容器的边界,即内容是可以撑破容器的)
  • break-word:将内容在边界内换行(不截断英文单词换行,截断英文单词换行需要使用word-break:all属性)
 .demo{
      200px;
      border:1px solid red;
      padding:5px;
    }
<div class="demo"> 
          without word-wrap  http://www.baidu.com  没有带word-wrap测试的英文混排dkfjiurfiewjfikerju8urcwercjrbevu4r8urvwoijd   vjvnru894fcurv   nsdjfoivd   nrsudrjfvcnru8sdeoijiojf
      </div>

在上面的样式中,没有设置word-wrap,即默认在用默认值normal。此时超长的英文长度大于容器的宽度的时候,就会撑破容器伸展到容器外面

   

当使用word-wrap:break-word的时候,超长英文大于容器宽度的时候,其碰到容器边缘会自动折行显示,但是word-wrap使用在<pre>和<table>中是没有任何效果的。

word-break

在上面的效果中可以发现,word-wrap:break-word只能在内容中换行,不能实现词内的换行,如果需要祠内换行就要用到word-break。word-break有三种取值:
  • normal:默认值,中文到达边界的汉字换行,英文整个单词换行,如果单词过长,则会撑破容器,如果边框为固定属性,则后面的部分无法显示;
  • break-all:可以强行阶段英文单词,达到词内换行的效果;
  • keep-all:不允许字断开,如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行,如果出现某个英文字符长度超过边界,则后面的部分将撑破容器,如果边框固定,则后面的部分内容无法显示。

 white-space

white-space属性指定元素内的空白怎样处理。有六种取值:

  •  normal:默认值,空白处会被浏览器忽略;
  •  pre:空白处会被浏览器保留,其行为方式类似于HTML中的<pre>标签;
  • nowrap:文本不会换行,文本都在同一行上,甚至可以撑破容器,直到遇到<br/>才会换行;
  • pre-line:合并空白序列符,但保留换行符;
  • pre-wrap:保留空白符序列,但正常换行;
  • inherit:规定应该从父元素继承white-space属性的值。

text-shadow

text-shadow接受4个值:
  • 第一个值为水平偏移,为正值是向右偏移,为负时向左偏移;
  • 第二个值为垂直偏移,为正时向下偏移,为负时向上偏移;
  • 第三个值为阴影的模糊程度,不能为负值,值越大阴影越模糊,值越小,阴影越清晰,不需要阴影模糊时可以为0;
  • 第四个值是阴影的颜色,可以是rgba色。

基础效果:

 .demo{
            500px;
            height:100px;
            background: #666666;
            padding:40px;
            font:bold 55px/100% "微软雅黑",Arial,Sana;
            text-transform: uppercase;
        }
<div class="demo">TEXT SHADOW</div>

简单效果

   

 辉光效果

 

在制作辉光效果的时候,可以设置较大的模糊半径来增加辉光效果,也可以同时增加几个不同的半径值,创造多种不同的阴影效果

   

Photoshop Emboss Effect(类似ps中的投影和浮雕,此时模糊值应该为0,来增加质感)

   

Blurytext Effect

  

制作模糊效果的时候,需要把文本的前景色设置为透明的,模糊值越大效果越模糊,并且此时是不设置任何方向的偏移值的,结合上一个效果,可以实现带有模糊的浮雕效果。

   

Inset text effect

制作这种效果时,文字的前景色要比背景色暗,阴影颜色稍逼背景色亮一点点

   

Stroke text effect

描边主要是运用两个阴影,第一个向左上投影,第二个向右下投影,模糊值为0

   

3D text effect

3D效果就是在文字的上方或者下方使用多个阴影,并把阴影色设置相同,每个阴影向上或者向下移动1px的距离,成熟越多,越有厚重感,同时使用透明度,效果更佳)

   

Vintge/Retro text effect

这种风格的文字效果由两个文本阴影合成,第一个阴影色和背景色相同,文本前景色和第二个背景色相同。

   

Anaglyphic text effect

补色效果:用css重新使用的文字阴影和文本前景的rgba色组合而成,在文本的前景色和阴影上同时使用rgba色,使底层的文字透过影子可见。
  
原文地址:https://www.cnblogs.com/yuyujuan/p/13826054.html