像这种效果:
image.png
1. display显示隐藏元素但是不保留位置
2. visibility显示隐藏元素但是保留原来的位置
3. overflow 溢出显示隐藏但是只是对于溢出的部分处理

案例作用:

  1. 练习元素的显示与隐藏
  2. 练习元素的定位

核心原理:原先半透明的黑色遮罩看不见,鼠标经过大盒子,就显示出来。

效果图
image.png
图片素材:demo31.pngplay.png

代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. }
  13. .girl {
  14. position: relative;
  15. width: 402px;
  16. height: 224px;
  17. margin: 50px auto;
  18. }
  19. .girl img {
  20. width: 100%;
  21. height: 100%;
  22. }
  23. .girl .mask {
  24. position: absolute;
  25. top: 0;
  26. left: 0;
  27. width: 402px;
  28. height: 224px;
  29. background: rgba(0, 0, 0, .4) url(play.png) no-repeat center;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="girl">
  35. <img src="demo31.png" alt="">
  36. <div class="mask"></div>
  37. </div>
  38. </body>
  39. </html>

修改的部分

    .girl .mask {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 402px;
      height: 224px;
      background: rgba(0, 0, 0, .4) url(play.png) no-repeat center;
    }

添加的部分

    .girl:hover .mask {
      display: block;
    }

这样效果就好了