[前端] html+css实现文字折叠特效实例

1809 0
王子 2022-10-19 15:58:02 | 显示全部楼层 |阅读模式
本文主要介绍了html+css实现文字折叠特效实例,分享给大家,具体如下:
效果:


实现:
1. 定义标签:
  1. <h1>aurora</h1>
复制代码
2. 设置文字基本样式:
  1. h1{
  2.              text-transform: uppercase;
  3.              letter-spacing: 3px;
  4.              font-size: 15vw;
  5.              transform: rotate(-10deg) skew(30deg);
  6.              position: relative;
  7.              color: rgba(0, 101, 253, 0.6);
  8.              -webkit-text-stroke: 2px  rgba(0, 101, 253, 0.6);
  9.              transition: all 1s;
  10.          }
复制代码
text-transform: uppercase; 字母变为大写字母。
letter-spacing: 3px; 字间距。
transform: rotate(-10deg) skew(30deg); 先旋转-10deg,再倾斜30deg。
-webkit-text-stroke: 2px rgba(0, 101, 253, 0.6); 文字边框 详细
transition: all 1s; 过渡效果
3. 鼠标经过文字显示内陷效果:
  1. h1:hover{
  2.            /*   先叠层白的,再叠层黑的,先叠的白会覆盖到黑,白的地方亮,黑的地方暗 */
  3.             text-shadow:3px 3px 6px #fff,
  4.             3px 3px 6px #fff,
  5.             0 0 0px #000;           
  6.          }
复制代码
主要是利用阴影先叠层白的阴影,再在白的后面叠层黑的阴影,这样一来,白的地方发亮,黑的地方暗,形成内陷效果。
4. 用双伪类实现文字的上半部分,(注:双伪类会继承父元素的些css属性):
  1. h1::before{
  2.              content: 'aurora';
  3.              color: rgb(255, 255, 255);
  4.              position: absolute;
  5.              top: 0;
  6.              left: 0;
  7.              clip-path: inset(0 0 50% 0);
  8.              transition: all 1s;     
  9.              transform: rotateX(0deg) skew(0deg);      
  10.          }
复制代码
position: absolute;
top: 0;
left: 0; 定位。
clip-path: inset(0 0 50% 0); 裁剪,只裁文字的上半部分显示。
transform: rotateX(0deg) skew(0deg); 暂时不旋转,不倾斜。
5. 鼠标经过文字上半部分文字折叠:
  1. h1:hover::before{
  2.             transform: rotateX(-30deg) skew(-30deg);
  3.            color: rgb(243, 243, 243);
  4.            text-shadow: 0 0 1px black;
  5.          }
复制代码
transform: rotateX(-30deg) skew(-30deg); 旋转-30deg,倾斜-30deg。
color: rgb(243, 243, 243); 颜色变暗点。
text-shadow: 0 0 1px black; 阴影。
6. 异曲同工,设置下半部分:
  1. h1::after{
  2.              content: 'aurora';
  3.              color: rgb(255, 255, 255);
  4.              position: absolute;
  5.              top: 0;
  6.              left: 0;
  7.              clip-path: inset(50% 0 0 0);
  8.              transition: all 1s;     
  9.              transform: rotateX(0deg) skew(0deg);
  10.          }
  11.          h1:hover::after{
  12.             transform: rotateX(40deg) skewX(20deg) ;
  13.             color: rgb(212, 212, 212);
  14.             text-shadow: 0 0 1px black;
  15.          }
复制代码
完整代码:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Document</title>
  7.     <style>
  8.         *{
  9.             margin: 0;
  10.             padding: 0;
  11.             box-sizing: border-box;
  12.         }
  13.         body{
  14.             height: 100vh;
  15.             width: 100vw;
  16.             display: flex;
  17.             justify-content: center;
  18.             align-items: center;
  19.         }   
  20.          h1{
  21.              text-transform: uppercase;
  22.              letter-spacing: 3px;
  23.              font-size: 15vw;
  24.              transform: rotate(-10deg) skew(30deg);
  25.              position: relative;
  26.              color: rgba(0, 101, 253, 0.6);
  27.              -webkit-text-stroke: 2px  rgba(0, 101, 253, 0.6);
  28.              transition: all 1s;
  29.          }
  30.          h1:hover{
  31.            /*   先叠层白的,再叠层黑的,先叠的白会覆盖到黑,白的地方亮,黑的地方暗 */
  32.             text-shadow:3px 3px 6px #fff,
  33.             3px 3px 6px #fff,
  34.             0 0 0px #000;           
  35.          }
  36.          h1::before{
  37.              content: 'aurora';
  38.              color: rgb(255, 255, 255);
  39.              position: absolute;
  40.              top: 0;
  41.              left: 0;
  42.              clip-path: inset(0 0 50% 0);
  43.              transition: all 1s;     
  44.              transform: rotateX(0deg) skew(0deg);      
  45.          }
  46.          h1:hover::before{
  47.             transform: rotateX(-30deg) skew(-30deg);
  48.            color: rgb(243, 243, 243);
  49.            text-shadow: 0 0 1px black;
  50.          }
  51.          h1::after{
  52.              content: 'aurora';
  53.              color: rgb(255, 255, 255);
  54.              position: absolute;
  55.              top: 0;
  56.              left: 0;
  57.              clip-path: inset(50% 0 0 0);
  58.              transition: all 1s;     
  59.              transform: rotateX(0deg) skew(0deg);
  60.          }
  61.          h1:hover::after{
  62.             transform: rotateX(40deg) skewX(20deg) ;
  63.             color: rgb(212, 212, 212);
  64.             text-shadow: 0 0 1px black;
  65.          }
  66.     </style>
  67. </head>
  68. <body>
  69.     <h1>aurora</h1>
  70. </body>
  71. </html>
复制代码
到此这篇关于html+css实现文字折叠特效实例的文章就介绍到这了,更多相关html+css文字折叠内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章,希望大家以后多多支持中国红客联盟!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行