HTML CSS 反射效果
反射效果是可以在网站上使用的最酷的效果之一。这是一种非正式的效果,因此强烈建议不要在任何专业项目中使用它。可以在个人项目中使用它。在这种效果下,模仿逼真的反射效果,就像水中的倒影一样。
实现方法:在原始字符串的底部创建一个旋转的字符串,然后更改其不透明度和背景,使其看起来像原始字符串的反射。

HTML代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content=
  6. "width=device-width,
  7. initial-scale=1.0" />
  8. <title>
  9. Text Reflection
  10. using HTML and CSS
  11. </title>
  12. </head>
  13. <body>
  14. <h2 data-text="GeeksforGeeks">
  15. GeeksforGeeks
  16. </h2>
  17. </body>
  18. </html>

CSS代码

  • 第1步:应用径向背景,该背景的中心较亮而拐角较暗。
  • 步骤2:对标题应用一些基本样式,例如大小,颜色等。
  • 步骤3:现在,使用after 选择器并在X轴上旋转原始文本,并保持原点为底部。
  • 第4步:应用“ webkit”属性将旋转后的文本剪切为剪切。它将使文本的上部可见,如输出图像中所示。
  • 步骤5:现在应用透明颜色并降低旋转文本的不透明度。

注意:请确保根据背景降低不透明度。如果使用较暗的背景,请将不透明度降低0.1-0.2;如果使用较浅的背景,则将其降低0.6-0.8。

  1. <style>
  2. body
  3. {
  4. /* Radiel gradient defined by its center*/
  5. background-image: radial-gradient(#013220,#008000);
  6. height: 100vh;
  7. }
  8. h2 {
  9. position: absolute;
  10. top: 30%;
  11. left: 30%;
  12. text-transform: capitalize;
  13. color: white;
  14. font-size: 50px;
  15. }
  16. h2::after {
  17. content: attr(data-text);
  18. position: absolute;
  19. top: 0;
  20. left: 0;
  21. /* Change the position of transformed element */
  22. transform-origin: bottom;
  23. /* Rotates around x-axis */
  24. transform: rotateX(180deg);
  25. line-height: 0.85em;
  26. /* linear-gradient defined by up,down,left ,right ,diagonal */
  27. background-image: linear-gradient(0deg, #ffffff 0, transparent 95%);
  28. -webkit-background-clip: text;
  29. color: transparent;
  30. opacity: 0.7;
  31. }
  32. </style>

完整的代码

  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>Text Reflection using HTML and CSS</title>
  7. <style>
  8. body
  9. {
  10. /* Radiel gradient defined by its center*/
  11. background-image: radial-gradient(#013220,#008000);
  12. height: 100vh;
  13. }
  14. h2 {
  15. position: absolute;
  16. top: 30%;
  17. left: 30%;
  18. text-transform: capitalize;
  19. color: white;
  20. font-size: 50px;
  21. }
  22. h2::after {
  23. content: attr(data-text);
  24. position: absolute;
  25. top: 0;
  26. left: 0;
  27. /* Change the position of transformed element */
  28. transform-origin: bottom;
  29. /* Rotates around x-axis */
  30. transform: rotateX(180deg);
  31. line-height: 0.85em;
  32. /* linear-gradient defined by up,down,left ,right ,diagonal */
  33. background-image: linear-gradient(0deg, #ffffff 0, transparent 95%);
  34. -webkit-background-clip: text;
  35. color: transparent;
  36. opacity: 0.7;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <h2 data-text="GeeksforGeeks">GeeksforGeeks</h2>
  42. </body>
  43. </html>

实现效果

image.png