• 七夕,用HTML+CSS动画实现旋转图片表白魔方感动她


    实现效果:

     

    6de7081f1b74409da017282d73745023.png 

    ⭐️  作者:船长在船上
    🚩 主页:来访地址船长在船上的博客
    🔨  简介:高级前端开发工程师,专注前端开发,欢迎咨询交流,共同学习!

     

    🔔  感谢:如果觉得博主的文章不错或者对你的工作有帮助或者解决了你的问题,可以关注、支持一下博主,如果三连收藏支持就会更好,在这里博主不胜感激!!!如有疑问可以留言、评论,看到后会及时回复。  

     

    HTML:

    1. <div id="content">
    2. <div id="box1">
    3. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    4. div>
    5. <div id="box2">
    6. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    7. div>
    8. <div id="box3">
    9. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    10. div>
    11. <div id="box4">
    12. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    13. div>
    14. <div id="box5">
    15. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    16. div>
    17. <div id="box6">
    18. <img src="https://pics2.baidu.com/feed/7af40ad162d9f2d3e50ebd1cc427d11b6227cc7e.jpeg?token=7fa70fec093a4a72080dfdc29ec75831">
    19. div>
    20. div>

     

    CSS:

    CSS3 transform 属性:

    transform: none|transform-functions;

    描述
    none定义不进行转换。
    matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。
    matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
    translate(x,y)定义 2D 转换。
    translate3d(x,y,z)定义 3D 转换。
    translateX(x)定义转换,只是用 X 轴的值。
    translateY(y)定义转换,只是用 Y 轴的值。
    translateZ(z)定义 3D 转换,只是用 Z 轴的值。
    scale(x[,y]?)定义 2D 缩放转换。
    scale3d(x,y,z)定义 3D 缩放转换。
    scaleX(x)通过设置 X 轴的值来定义缩放转换。
    scaleY(y)通过设置 Y 轴的值来定义缩放转换。
    scaleZ(z)通过设置 Z 轴的值来定义 3D 缩放转换。
    rotate(angle)定义 2D 旋转,在参数中规定角度。
    rotate3d(x,y,z,angle)定义 3D 旋转。
    rotateX(angle)定义沿着 X 轴的 3D 旋转。
    rotateY(angle)定义沿着 Y 轴的 3D 旋转。
    rotateZ(angle)定义沿着 Z 轴的 3D 旋转。
    skew(x-angle,y-angle)定义沿着 X 和 Y 轴的 2D 倾斜转换。
    skewX(angle)定义沿着 X 轴的 2D 倾斜转换。
    skewY(angle)定义沿着 Y 轴的 2D 倾斜转换。
    perspective(n)为 3D 转换元素定义透视视图。

     

    CSS3 animation(动画) 属性:

    animation: name duration timing-function delay iteration-count direction fill-mode play-state;

    说明
    animation-name指定要绑定到选择器的关键帧的名称
    animation-duration动画指定需要多少秒或毫秒完成
    animation-timing-function设置动画将如何完成一个周期
    animation-delay设置动画在启动前的延迟间隔。
    animation-iteration-count定义动画的播放次数。
    animation-direction指定是否应该轮流反向播放动画。
    animation-fill-mode规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
    animation-play-state指定动画是否正在运行或已暂停。
    1. body {
    2. height: 100vh;
    3. width: 100vw;
    4. margin: 0;
    5. padding: 0;
    6. }
    7. #content {
    8. width: 300px;
    9. height: 300px;
    10. position: absolute;
    11. top: 50%;
    12. margin-top: -150px;
    13. left: 50%;
    14. margin-left: -150px;
    15. transform-style: preserve-3d;
    16. animation: run 10s linear infinite;
    17. }
    18. #content>div {
    19. width: 300px;
    20. height: 300px;
    21. position: absolute;
    22. opacity: 0.7;
    23. }
    24. #box1 {
    25. background-color: green;
    26. transform: rotateX(90deg) translateZ(150px);
    27. }
    28. #box2 {
    29. background-color: red;
    30. transform: rotateX(-90deg) translateZ(150px);
    31. }
    32. #box3 {
    33. background-color: blue;
    34. transform: rotateY(90deg) translateZ(150px);
    35. }
    36. #box4 {
    37. background-color: yellow;
    38. transform: rotateY(-90deg) translateZ(150px);
    39. }
    40. #box5 {
    41. background-color: pink;
    42. transform: translateZ(-150px);
    43. }
    44. #box6 {
    45. background-color: orange;
    46. transform: translateZ(150px);
    47. }
    48. @keyframes run {
    49. from {
    50. transform: rotateX(0) rotateY(0);
    51. }
    52. to {
    53. transform: rotateX(360deg) rotateY(360deg);
    54. }
    55. }
    56. div img {
    57. width: 300px;
    58. height: 300px;
    59. }

     完整代码:

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>魔方title>
    6. <style type="text/css">
    7. body{
    8. height: 100vh;
    9. width: 100vw;
    10. margin: 0;
    11. padding: 0;
    12. }
    13. #content{
    14. width: 300px;
    15. height: 300px;
    16. position: absolute;
    17. top: 50%;
    18. margin-top: -150px;
    19. left: 50%;
    20. margin-left: -150px;
    21. transform-style: preserve-3d;
    22. animation: run 10s linear infinite;
    23. }
    24. #content > div{
    25. width: 300px;
    26. height: 300px;
    27. position: absolute;
    28. opacity: 0.7;
    29. }
    30. #box1{
    31. background-color: green;
    32. transform:rotateX(90deg) translateZ(150px);
    33. }
    34. #box2{
    35. background-color: red;
    36. transform:rotateX(-90deg) translateZ(150px);
    37. }
    38. #box3{
    39. background-color: blue;
    40. transform:rotateY(90deg) translateZ(150px);
    41. }
    42. #box4{
    43. background-color: yellow;
    44. transform:rotateY(-90deg) translateZ(150px);
    45. }
    46. #box5{
    47. background-color: pink;
    48. transform:translateZ(-150px);
    49. }
    50. #box6{
    51. background-color: orange;
    52. transform:translateZ(150px);
    53. }
    54. @keyframes run{
    55. from{
    56. transform: rotateX(0) rotateY(0);
    57. }
    58. to{
    59. transform: rotateX(360deg) rotateY(360deg);
    60. }
    61. }
    62. div img{
    63. width: 300px;
    64. height: 300px;
    65. }
    66. style>
    67. head>
    68. <body>
    69. <div id="content">
    70. <div id="box1">
    71. <img src="../img/1.jpg" >
    72. div>
    73. <div id="box2">
    74. <img src="../img/2.jpg" >
    75. div>
    76. <div id="box3">
    77. <img src="../img/3.jpg" >
    78. div>
    79. <div id="box4">
    80. <img src="../img/4.jpg" >
    81. div>
    82. <div id="box5">
    83. <img src="../img/5.jpg" >
    84. div>
    85. <div id="box6">
    86. <img src="../img/6.jpg" >
    87. div>
    88. div>
    89. body>
    90. html>

     

     

    👉👉👉 欢迎来访船长在船上的博客,如有疑问可以留言、评论,看到后会及时回复。  

     

     

     

  • 相关阅读:
    SpringCloud Alibaba 入门到精通 - Nacos
    【无标题】
    被火车撞了都不能忘记的两个题(考验你的递归能力)
    GBase 8c产品简介
    系统学习Python——类(class)代码的编写基础与实例(一):代码的编写基础
    项目人力资源管理
    Nvidia GPU 入门教程之 07 TensorFlow MNiST GPU A100(教程含源码)
    未来的金融服务永远不会停歇,牛市仍将继续 2021-05-28
    学生用RockyLinux9.2模板虚拟机说明
    RabbitMQ进阶教程三(整合springboot,延迟队列,发布确认高级,备份交换机)
  • 原文地址:https://blog.csdn.net/SmartJunTao/article/details/126136613