CSS3之好看的特效

FAILED
白色玫瑰 程序猿

时间: 2023-07-15 阅读: 1 字数:6632

sjxi.cn
但是某些简单的特效可以直接用HTML和CSS3就能做出想要的,而且有时候用CSS3比用JS简单。话不多说,现在我就来介绍HTML和CSS3做的特效(因为不能传视频,所以只能用图片解释了)。 1. 左右切换特效 网页初始的样子 ...

我们在网站上浏览时都会或多或少地出现一些炫酷的网页效果,看着很高大上的小小特效,这些特效一般使用HTML、CSS和JS结合做出来的。
但是某些简单的特效可以直接用HTML和CSS3就能做出想要的,而且有时候用CSS3比用JS简单。话不多说,现在我就来介绍HTML和CSS3做的特效(因为不能传视频,所以只能用图片解释了)。

1. 左右切换特效

网页初始的样子
在这里插入图片描述
鼠标移入到目标元素上的样子
在这里插入图片描述
代码:

  1. <!-- 网页结构 -->
  2. <div>
  3. <p></p>
  4. <h1>文字</h1>
  5. </div>
  6. <!-- CSS3核心代码 -->
  7. p{
  8. /* 相对于内容框来定位背景图像:*/
  9. background-origin: border-box;
  10. /*规定两个并排的带边框的框*/
  11. box-sizing: border-box;
  12. /*绝对定位*/
  13. position: absolute;
  14. left: 0;
  15. top: 0;
  16. /* 动画效果过渡,让动画效果看起来不突兀 */
  17. transition: all 1s;
  18. /*设置元素的堆叠顺序*/
  19. z-index: 2;
  20. }
  21. h1{
  22. position: absolute;
  23. left: -100px;
  24. top: 0;
  25. z-index: 1;
  26. /*被隐藏*/
  27. opacity: 0;
  28. color: #fff;
  29. transition: all 1s;
  30. background-color: #eee;
  31. }
  32. div:hover p{
  33. /*scale缩放 p标签缩小50%*/
  34. transform: scale(.5,.5);
  35. left: 100px;
  36. }
  37. div:hover h1{
  38. left: 0px;
  39. opacity: 1;
  40. }

2. 旋转切换特效

网页初始的样子
在这里插入图片描述
鼠标移入到目标元素上的样子,其中的小圈是会被缩小直至消失的
在这里插入图片描述
代码:

  1. <!-- CSS3核心代码 -->
  2. p{
  3. background-origin: border-box;
  4. box-sizing: border-box;
  5. position: absolute;
  6. left: 0;
  7. top: 0;
  8. transition: all 1s;
  9. z-index: 2;
  10. }
  11. h1{
  12. position: absolute;
  13. left: 0;
  14. top: 0;
  15. z-index: 1;
  16. opacity: 1;
  17. color: #fff;
  18. /* 缩放 旋转 */
  19. transform: scale(0,0) rotate(0deg);
  20. transition: all 1s;
  21. background-color: #eee;
  22. }
  23. div:hover p{
  24. /* 缩放到消失 旋转360度 */
  25. transform: scale(0,0) rotate(360deg);
  26. }
  27. div:hover h1{
  28. /* 缩放到出现 旋转360度 */
  29. transform: scale(1,1) rotate(360deg);
  30. }

3. 旋转的正方体特效

网页初始的样子,这是一个正方体,它在网页中可以不断的旋转,每个面都可以放上喜欢的图片,
在这里插入图片描述
鼠标移入到目标元素上的样子,正方体的六个面会被分解,形成了不是封闭的正方体。
在这里插入图片描述
代码:

  1. <!-- 网页结构 -->
  2. <div class="main">
  3. <div class="cub">
  4. <!-- 正面的 -->
  5. <span class="num_positive"></span>
  6. <!-- 后面的 -->
  7. <span class="num_behind"></span>
  8. <!-- 左面的 -->
  9. <span class="num_left"></span>
  10. <!-- 右面的 -->
  11. <span class="num_right"></span>
  12. <!-- 上面的 -->
  13. <span class="num_top"></span>
  14. <!-- 下面的 -->
  15. <span class="num_bottom"></span>
  16. </div>
  17. </div>
  18. <!-- CSS3核心代码 -->
  19. .main .cub{
  20. width: 300px;
  21. height: 300px;
  22. /*指定嵌套元素如何在3D空间中呈现,必须要写的,而且要写在指定元素的直接父级上才有效果*/
  23. transform-style: preserve-3d;
  24. position: relative;
  25. transform: rotateX(-50deg) rotateY(-50deg) rotateZ(0deg);
  26. animation: run 10s infinite linear;
  27. }
  28. .main .cub span{
  29. width: 100px;
  30. height: 100px;
  31. display: block;
  32. border: 2px solid blueviolet;
  33. border-radius: 10px;
  34. position: absolute;
  35. }
  36. /*不断旋转的代码*/
  37. @keyframes run{
  38. 0%{transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);}
  39. 100%{transform: rotateX(720deg) rotateY(360deg) rotateZ(360deg);}
  40. }
  41. /*把六个平面的正方形设置成立体的正方体的代码*/
  42. .cub span.num_positive{
  43. /*设置前面的一面在z轴上的移动*/
  44. transform:translateZ(50px);
  45. }
  46. .cub span.num_behind{
  47. /*设置后面的一面在z轴上的移动*/
  48. transform:translateZ(-50px);
  49. }
  50. .cub span.num_left{
  51. /*设置左面的一面在x轴上的移动*/
  52. transform:translateX(-50px) rotateY(-90deg);
  53. }
  54. .cub span.num_right{
  55. /*设置右面的一面在x轴上的移动*/
  56. transform:translateX(50px) rotateY(90deg);
  57. }
  58. .cub span.num_top{
  59. /*设置上面的一面在y轴上的移动*/
  60. transform:translateY(-50px) rotateX(90deg);
  61. }
  62. .cub span.num_bottom{
  63. /*设置下面的一面在y轴上的移动*/
  64. transform:translateY(50px) rotateX(-90deg);
  65. }
  66. /*hove的效果*/
  67. .main:hover .num_positive{
  68. transform:translateZ(100px);
  69. }
  70. .main:hover .num_behind{
  71. transform:translateZ(-100px);
  72. }
  73. .main:hover .num_left{
  74. transform:translateX(-100px) rotateY(90deg);
  75. }
  76. .main:hover .num_right{
  77. transform:translateX(100px) rotateY(90deg);
  78. }
  79. .main:hover .num_top{
  80. transform:translateY(-100px) rotateX(90deg);
  81. }
  82. .main:hover .num_bottom{
  83. transform:translateY(100px) rotateX(-90deg);
  84. }

PS:这些特效的代码中我只贴了核心代码,没有贴css基础样式的代码,所以要实现的话还需自己写基础样式。

原文地址:https://blog.csdn.net/weixin_45846241/article/details/105756306?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168940081216782427411035%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168940081216782427411035&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-105756306-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=css3%E7%89%B9%E6%95%88

本文章网址:sjxi.cn/detil/a431ecbc7779415894cb846c9eb3c4d2

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

    湘ICP备2021009447号

    ×

    (穷逼博主)在线接单

    QQ: 1164453243

    邮箱: abcdsjx@126.com

    前端项目代做
    前后端分离
    Python 爬虫脚本
    Java 后台开发
    各种脚本编写
    服务器搭建
    个人博客搭建
    Web 应用开发
    Chrome 插件编写
    Bug 修复