当前位置:   article > 正文

css实现翻书效果/VW/REM

css实现翻书效果
  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>书本翻书特效</title>
  8. <style>
  9. body{
  10. background-color: black;
  11. }
  12. .main{
  13. width: 500px;
  14. height: 600px;
  15. /* background-color: brown; */
  16. position: absolute;
  17. top: 50px;
  18. left: 500px;
  19. transition: all 1s;
  20. /* 视距 */
  21. perspective: 1500px;
  22. }
  23. .light{
  24. width: 100%;
  25. height: 100%;
  26. background-image: url(./bg.jpg);
  27. /* 图片进行等比例的放大缩小 */
  28. /* background-size: contain; */
  29. background-size:cover ;
  30. background-position: -230px 0;
  31. /* 只有拥有定位属性才能有效果 */
  32. z-index: 3;
  33. position: absolute;
  34. transition: all 2s;
  35. /* 值可以用坐标,x y数字,也可以用偏移量代词 */
  36. transform-origin: left;
  37. }
  38. .book{
  39. width: 100%;
  40. height: 100%;
  41. position: absolute;
  42. background-color: white;
  43. }
  44. .main:hover{
  45. transform: rotateZ(-20deg);
  46. box-shadow: 0px 1px 14px 9px white;
  47. }
  48. .main:hover .light{
  49. transform: rotateY(-120deg);
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <div class="main">
  55. <div class="light"></div>
  56. <div class="book">
  57. <p> "You know some birds are not meant to be caged,</p>
  58. <p>their feathers are just too bright."</p>
  59. <p> 你知道,有些鸟儿是注定不会被关在牢笼里的,</p>
  60. <p>它们的每一片羽毛都闪耀着自由的光辉。</p>
  61. <p> 《肖申克的救赎》</p>
  62. </div>
  63. </div>
  64. </body>
  65. </html>

主要利用的效果:

旋转   transform: rotateZ(-20deg);

过渡   transition: all 1s;

旋转轴和旋转中心(旋转点)

box-shandow 盒子阴影

注意:利用绝对定位进行布局

VM是什么单位?

vm是CSS3中的一个相对长度单位,相对于视口的宽度。视口被均分为100份,那么1vm的尺寸就是视口宽度的百分之一。

例如:视口的宽度是1000px,那么5vm就是50px

  1. div{
  2. font-size:5vm;
  3. }

公式换算

100vw = 390px

x = 100px 

html标签的字体大小  100px 

font-size: 25.64vw;

font-size: 20px; 

其他单位:rem  px  em

px

px像素,是我们网页中常用的基本单位,通过px可以设置固定像素,固定的字体大小等,无论设备怎么改变,设置的值都不会改变。

缺点:没有弹性,不能随设备的变化而变化,达不到适应所有设备的效果
 

rem

        rem是相对于根元素html,这样就意味着,我们只需要在根元素确定一个参考值,可以设计HTML为大小为12px,到时设置1rem就是12px,以此类推。

优点是,只需要设置根目录的大小就可以把整个页面的成比例的调好。

em

参考物是父元素的font-size,具有继承的特点。如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。
特点:

     1. em的值并不是固定的;

     2. em会继承父级元素的字体大小。

  1. /* rem px em */
  2. /* div {
  3. font-size: 25px;
  4. } */
  5. /* 1em值 等于 父元素 font-size的值 */
  6. /* p {
  7. font-size: 1em;
  8. width: 10em;
  9. height: 10em;
  10. background-color: #ccc;
  11. } */
  12. /* rem的值 不是根据父元素来定,根据html 的font-size 值来定。 */
  13. /* .one {
  14. font-size: 0.16rem;
  15. width: 1rem;
  16. height: 1rem;
  17. background-color: red;
  18. } */

媒体查询

基本定义:使用 @media查询,可以针对不同的媒体类型定义不同的样式

mediatype:媒体类型,包含(all,print,screen,speech)
1.all–所有设备
2.print–打印机和打印预览
3.screen–电脑屏幕,平板电脑,智能手机等
4.屏幕阅读器等发声设备
(广泛使用的是all和screen)

and|not|only:逻辑操作符,可以用来构建复杂的媒体查询
1.all–用来把多个媒体属性组合起来,合并到同一条媒体查询中。只有当每个属性都为真时,这条查询的结果才为真。在不使用not或only操作符的情况下,媒体类型是可选的,默认为all。
2.not–用来对一条媒体查询的结果进行取反
3.only–表示仅在媒体查询匹配成功时应用指定样式

参考文档:CSS Media媒体查询使用大全,完整媒体查询总结 - 奔跑的太阳花 - 博客园

媒体查询的基本用法_六鼎的博客-CSDN博客_媒体查询

  1. <head>
  2. <style>
  3. /* 媒体查询 */
  4. /* 屏幕区间可写作 手机屏幕大小 */
  5. @media screen and (min-width:801px) {
  6. p {
  7. background-color: #ccc;
  8. font-size: 25px;
  9. }
  10. }
  11. @media screen and (max-width:800px) {
  12. p {
  13. background-color: pink;
  14. font-size: 16px;
  15. }
  16. }
  17. @media screen and (max-width:320px) {
  18. p {
  19. background-color: red;
  20. font-size: 12px;
  21. }
  22. }
  23. </style>
  24. </head> }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/117157
推荐阅读
相关标签
  

闽ICP备14008679号