经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » CSS » 查看文章
一个简单的动态页面(我的第一个博客)
来源:cnblogs  作者:Ryan_Yue  时间:2018/11/11 10:18:52  对本文有异议

2018-11-10

今天是我第一次写博客,因为没经验嘛,我就随便写写,我也希望自己以后能坚持写下去,不为别的,就为了自己能够更好地学习编程,能够追随行业大牛的脚步,从此赢取白富美,走上人生巅峰(额,理想远大呵!)

 

好吧,步入正题,因为目前在学java,加了一些培训机构的群,跟着做了一个小项目,就是做个页面,当鼠标悬浮于图片之上的时候,图片会实现一个放大旋转的效果,经简单的,具体演示看下图:

 

 

我觉得这个项目的难点有两点:

  1. 背景上叠加的六边形
  2. 鼠标放置图片上,图片显示旋转放大效果

一,首先讲一下如何做背景六边形

  这个六边形其实是在li标签中,放置两个div标签,并且都是用rgba设置成黑色半透明,在正常情况下我们都知道,一个li标签里放两个与li标签一样大的div标签,肯定会放不下,这样,有一个div会被挤出去,如图所示

为了把两个div都放入li中,就需要让另一个div飘起来,覆盖在上面,这里就需要介绍一下绝对位置 ,

 

 

  1. position:absolute;
  2. left: 0;
  3. top: 0;

然后在div的父标签li中调用相对位置,将飘在外边的的div拉回去,

  1. position:relative;

这样,我们就可以使用css3的transform属性来旋转两个div,这样就可以得到一个六边形

 

二,鼠标放置图片上,图片显示旋转放大效果

要实现这个功能,要用到css中的hover选择器,用法如下

选择鼠标指针浮动在其上的元素,并设置其样式:

  1. image:hover
  2. {
  3. transformscale1.4 rotate360deg);
  4. }

当然了,如果仅仅这样就结束了,你是看不出效果的,因为画面切换太快了,所以再此要用到css3 过渡属性transition,让css效果转换,持续1秒

  1. transition-duration:1s

就这些吧,再附个源码(有些改动)

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>多边形旋转放大</title>
  6. </head>
  7. <body>
  8. <div class="box">
  9. <ul>
  10. <li><img src="images/1.png"></li>
  11. <li><img src="images/2.png"></li>
  12. <li><img src="images/3.png"></li>
  13. <li><img src="images/4.png"></li>
  14. <li><img src="images/5.png"></li>
  15. <li class="cols2"><img src="images/6.png"></li>
  16. <li><img src="images/7.png"></li>
  17. <li><img src="images/8.png"></li>
  18. <li><img src="images/9.png"></li>
  19. <li><img src="images/10.png"></li>
  20. <li><img src="images/11.png"></li>
  21. <li><img src="images/12.png"></li>
  22. <li><img src="images/13.png"></li>
  23. <li><img src="images/14.png"></li>
  24. </ul>
  25. </div>
  26. </body>
  27. <style type="text/css">
  28. body{
  29. margin: 0;
  30. background-image: url("images/bodyBg.jpg");
  31. }
  32. .box{
  33. background-color: #d09324;
  34. width:1000px;
  35. height: 550px;
  36. margin:100px auto;
  37. background-image: url("images/bodyBg.jpg");
  38. }
  39. ul{
  40. margin:0;
  41. padding:18px;
  42. list-style: none;
  43. }
  44. li{
  45. position:relative;
  46. background-color:rgba(0,0,0,0.5);
  47. height: 105px;
  48. width: 180px;
  49. float: left;
  50. margin:30px 5px;
  51. }
  52. li:before, li:after{
  53. content: "";
  54. background-color:rgba(0,0,0,0.5);
  55. height: 100px;
  56. width: 180px;
  57. position:absolute;
  58. left: 0;
  59. top: 0;
  60. }
  61. li:before{
  62. transform:rotate(60deg);
  63. }
  64. li:after{
  65. transform:rotate(-60deg);
  66. }
  67. .cols2{
  68. margin-left:100px;
  69. }
  70. img{
  71. position:absolute;
  72. top:0;
  73. left:0;
  74. right:0;
  75. bottom:0;
  76. margin:auto;
  77. z-index: 9;
  78. transition-duration:1s;
  79. }
  80. .box img:hover {
  81. transform:scale(1.4) rotate(360deg);
  82. }
  83. </style>
  84. </html>

 

 

  1.  

 

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号