Κοινή χρήση τεχνολογίας

html για προχωρημένους

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Μετατροπή 1.2D

Ο μετασχηματισμός μπορεί απλά να κατανοηθεί ως παραμόρφωση

Κινητό: μετάφραση

Περιστροφή: περιστροφή

Ζουμ: sCale

  1. Κινητό: μετάφραση
1.Μετακίνηση συγκεκριμένων τιμών
  1. /* 移动盒子的位置: 定位 盒子的外边距 2d转换移动 */
  2. div {
  3. width: 200px;
  4. height: 200px;
  5. background-color: pink;
  6. /* x就是x轴上移动位置 y 就是y轴上移动位置 中间用逗号分隔*/
  7. /* transform: translate(x, y); */
  8. /* transform: translate(100px, 100px); */
  9. /* 1. 我们如果只移动x坐标 */
  10. /* transform: translate(100px, 0); */
  11. /* transform: translateX(100px); */
  12. /* 2. 我们如果只移动y坐标 */
  13. /* transform: translate(0, 100px); */
  14. /* transform: translateY(100px); */
  15. }
  16. div:first-child {
  17. transform: translate(30px, 30px);
  18. }
  19. div:last-child {
  20. background-color: purple;
  21. }
2.Ποσοστό κίνησης
  1. div {
  2. position: relative;
  3. width: 500px;
  4. height: 500px;
  5. background-color: pink;
  6. /* 1. 我们tranlate里面的参数是可以用 % */
  7. /* 2. 如果里面的参数是 % 移动的距离是 盒子自身的宽度或者高度来对比的 */
  8. /* 这里的 50% 就是 50px 因为盒子的宽度是 100px */
  9. /* transform: translateX(50%); */
  10. }
  11. p {
  12. position: absolute;
  13. top: 50%;
  14. left: 50%;
  15. width: 200px;
  16. height: 200px;
  17. background-color: purple;
  18. /* margin-top: -100px;
  19. margin-left: -100px; */;
  20. /* 盒子往上走自己高度的一半 */
  21. transform: translate(-50%, -50%);
  22. }

2. Περιστροφή: περιστροφή

1.Περιστροφή εικόνας
  1. img {
  2. width: 150px;
  3. /* 顺时针旋转45度 */
  4. /* transform: rotate(45deg); */
  5. border-radius: 50%;
  6. border: 5px solid pink;
  7. /* 过渡写到本身上,谁做动画给谁加 */
  8. transition: all 0.3s;
  9. }
  10. img:hover {
  11. transform: rotate(90deg);
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <img src="media/pic.jpg" alt="">
  17. </body>
2. Μικρό τρίγωνο
  1. div {
  2. position: relative;
  3. width: 249px;
  4. height: 35px;
  5. border: 1px solid #000;
  6. }
  7. div::after {
  8. content: "";
  9. position: absolute;
  10. top: 8px;
  11. right: 15px;
  12. width: 10px;
  13. height: 10px;
  14. border-right: 1px solid #000;
  15. border-bottom: 1px solid #000;
  16. transform: rotate(45deg);
  17. transition: all 0.2s;
  18. }
  19. /* 鼠标经过div 里面的三角旋转 */
  20. div:hover::after {
  21. transform: rotate(225deg);
  22. }
  1. Ρυθμίστε το κέντρο περιστροφής

1. Γραμματική

transform-origin:xy;

2. Βασικά σημεία

·Σημειώστε ότι οι παρακάτω παράμετροι x και y χωρίζονται με κενά

·Το κεντρικό σημείο της προεπιλεγμένης μετατροπής xy είναι το κεντρικό σημείο του στοιχείου (50%50%)

·Μπορείτε επίσης να ορίσετε pixel ή ουσιαστικά προσανατολισμού για το xy (πάνω κάτω αριστερά δεξιά στο κέντρο)

  1. div {
  2. width: 200px;
  3. height: 200px;
  4. background-color: pink;
  5. margin: 100px auto;
  6. transition: all 1s;
  7. /* 1.可以跟方位名词 */
  8. /* transform-origin: left bottom; */
  9. /* 2. 默认的是 50% 50% 等价于 center center */
  10. /* 3. 可以是px 像素 */
  11. /* transform-origin: 80px 80px; */
  12. /* transform-origin: top left; */
  13. transform-origin: bottom right ;
  14. }
  15. div:hover {
  16. transform: rotate(360deg);
  17. }
  1. Υπόθεση
  1. div {
  2. overflow: hidden;
  3. width: 200px;
  4. height: 200px;
  5. border: 1px solid pink;
  6. margin: 10px;
  7. float: left;
  8. }
  9. div::before {
  10. content: "小猪佩奇";
  11. display: block;
  12. width: 100%;
  13. height: 100%;
  14. background-image: url("./media/pig.jpg");
  15. transform: rotate(180deg);
  16. transform-origin: left bottom;
  17. transition: all 0.4s;
  18. }
  19. /* 鼠标经过div 里面的before 复原 */
  20. div:hover::before {
  21. transform: rotate(0deg);
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div></div>
  27. <div></div>
  28. <div></div>
  1. Ζουμ: sCale
1. Χρήση
  1. div {
  2. width: 200px;
  3. height: 200px;
  4. background-color: pink;
  5. margin: 100px auto;
  6. /* transform-origin: left bottom; */
  7. }
  8. div:hover {
  9. /* 1. 里面写的数字不跟单位 就是倍数的意思 1 就是1倍 2就是 2倍 */
  10. /* transform: scale(x, y); */
  11. /* transform: scale(2, 2); */
  12. /* 2. 修改了宽度为原来的2倍 高度 不变 */
  13. /* transform: scale(2, 1); */
  14. /* 3. 等比例缩放 同时修改宽度和高度,我们有简单的写法 以下是 宽度修改了2倍,高度默认和第一个参数一样*/
  15. /* transform: scale(2); */
  16. /* 4. 我们可以进行缩小 小于1 就是缩放 */
  17. /* transform: scale(0.5, 0.5); */
  18. /* transform: scale(0.5); */
  19. /* 5. scale 的优势之处: 不会影响其他的盒子 而且可以设置缩放的中心点*/
  20. /* width: 300px;
  21. height: 300px; */
  22. transform: scale(2);
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div></div>
  28. 123123
2. Κουμπιά
  1. li {
  2. float: left;
  3. width: 30px;
  4. height: 30px;
  5. border: 1px solid pink;
  6. margin: 10px;
  7. text-align: center;
  8. line-height: 30px;
  9. list-style: none;
  10. border-radius: 50%;
  11. /* 小手 */
  12. cursor: pointer;
  13. transition: all .4s;
  14. }
  15. li:hover {
  16. transform: scale(1.2);
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <ul>
  22. <li>1</li>
  23. <li>2</li>
  24. <li>3</li>
  25. <li>4</li>
  26. <li>5</li>
  27. <li>6</li>
  28. <li>7</li>
  29. </ul>
3. Ολοκληρωμένες υποθέσεις
  1. div {
  2. width: 200px;
  3. height: 200px;
  4. background-color: pink;
  5. transition: all .5s;
  6. }
  7. div:hover {
  8. /* transform: rotate(180deg) translate(150px, 50px); */
  9. /* 我们同时有位移和其他属性,我们需要把位移放到最前面 */
  10. transform: translate(150px, 50px) rotate(180deg) scale(1.2);
  11. }

δύο.κινουμένων σχεδίων

Η δημιουργία κινούμενων εικόνων χωρίζεται σε δύο βήματα:

1. Ορίστε πρώτα το κινούμενο σχέδιο

2. Επαναχρησιμοποίηση (κλήση) κινούμενων εικόνων

1. Χρησιμοποιήστε βασικά καρέ για να ορίσετε κινούμενα σχέδια (παρόμοια με τον ορισμό επιλογέων κλάσεων)

όνομα κινουμένων σχεδίων @keyframes{

0%{

πλάτος: 100 px

}

100%{

πλάτος: 200 px

}

}

2. Χρησιμοποιήστε κινούμενα σχέδια για στοιχεία

div{

πλάτος: 200 px, ύψος: 200 px, χρώμα φόντου: aqua, περιθώριο: 100 px αυτόματα,

/*Κινούμενη εικόνα κλήσης*/

animation-name: όνομα κινουμένων σχεδίων.

/*διάρκεια*/

animation-duration: duration }

1. Απλό animation

  1. /* 我们想页面一打开,一个盒子就从左边走到右边 */
  2. /* 1. 定义动画 */
  3. @keyframes move {
  4. /* 开始状态 */
  5. 0% {transform: translateX(0px);}
  6. /* 结束状态 */
  7. 100% {transform: translateX(1000px);}
  8. }
  9. div {
  10. width: 200px;
  11. height: 200px;
  12. background-color: pink;
  13. /* 2. 调用动画 */
  14. /* 动画名称 */
  15. animation-name: move;
  16. /* 持续时间 */
  17. animation-duration: 2s;
  18. }

2. Ακολουθίες κινουμένων σχεδίων

  1. /* from to 等价于 0% 和 100% */
  2. /* @keyframes move {
  3. from {
  4. transform: translate(0, 0);
  5. }
  6. to {
  7. transform: translate(1000px, 0);
  8. }
  9. } */
  10. /* 动画序列 */
  11. /* 1. 可以做多个状态的变化 keyframe 关键帧 */
  12. /* 2. 里面的百分比要是整数 */
  13. /* 3. 里面的百分比就是 总的时间(我们这个案例10s)的划分 25% * 10 = 2.5s */
  14. @keyframes move {
  15. 0% {
  16. transform: translate(0, 0);
  17. }
  18. 25% {
  19. transform: translate(1000px, 0)
  20. }
  21. 50% {
  22. transform: translate(1000px, 500px);
  23. }
  24. 75% {
  25. transform: translate(0, 500px);
  26. }
  27. 100% {
  28. transform: translate(0, 0);
  29. }
  30. }
  31. div {
  32. width: 100px;
  33. height: 100px;
  34. background-color: pink;
  35. animation-name: move;
  36. animation-duration: 10s;
  37. }

3. Ιδιότητες κινουμένων σχεδίων

Γνωρίσματα

         περιγράφω

@keyframes

Καθορίστε κινούμενα σχέδια

κινουμένων σχεδίων

Συντομογραφία για όλες τις ιδιότητες κινουμένων σχεδίων

animation-name

Καθορίζει το όνομα της κινούμενης εικόνας @keyframes (απαιτείται)

animation-διάρκεια

Καθορίζει τα δευτερόλεπτα ή τα χιλιοστά του δευτερολέπτου που χρειάζονται για να ολοκληρωθεί η κινούμενη εικόνα Η προεπιλογή είναι 0. (απαραίτητη)

aniamtion-timing-function

Καθορίζει την καμπύλη ταχύτητας της κινούμενης εικόνας, η προεπιλογή είναι "ease"

animation-καθυστέρηση

Καθορίζει όταν ξεκινά η κινούμενη εικόνα, η προεπιλογή είναι 0

κινούμενη εικόνα-επανάληψη-μέτρηση

Καθορίζει πόσες φορές παίζεται η κινούμενη εικόνα, η προεπιλογή είναι 1 και άπειρες

animation-σκηνοθεσία

Καθορίζει εάν η κινούμενη εικόνα θα παίζεται αντίστροφα στον επόμενο κύκλο Η προεπιλογή είναι «κανονική», η εναλλακτική αναπαραγωγή γίνεται αντίστροφα.

animation-play-state

Καθορίζει εάν η κινούμενη εικόνα εκτελείται ή είναι σε παύση, η προεπιλογή είναι "εκτελείται" και "παύση"

animation-fill-mode

Καθορίστε την κατάσταση μετά το τέλος της κινούμενης εικόνας, συνεχίστε προς τα εμπρός και επιστρέψτε στην αρχή προς τα πίσω

1.Βασική χρήση
  1. @keyframes move {
  2. 0% {
  3. transform: translate(0, 0);
  4. }
  5. 100% {
  6. transform: translate(1000px, 0);
  7. }
  8. }
  9. div {
  10. width: 100px;
  11. height: 100px;
  12. background-color: pink;
  13. /* 动画名称 */
  14. animation-name: move;
  15. /* 持续时间 */
  16. animation-duration: 2s;
  17. /* 运动曲线 */
  18. /* animation-timing-function: ease; */
  19. /* 何时开始 */
  20. animation-delay: 2s;
  21. /* 重复次数 iteration 重复的 conut 次数 infinite 无限 */
  22. /* animation-iteration-count: infinite; */
  23. /* 是否反方向播放 默认的是 normal 如果想要反方向 就写 alternate */
  24. /* animation-direction: alternate; */
  25. /* 动画结束后的状态 默认的是 backwards 回到起始状态 我们可以让他停留在结束状态 forwards */
  26. /* animation-fill-mode: forwards; */
  27. /* animation: name duration timing-function delay iteration-count direction fill-mode; */
  28. /* animation: move 2s linear 0s 1 alternate forwards; */
  29. /* 前面2个属性 name duration 一定要写 */
  30. /* animation: move 2s linear alternate forwards; */
  31. }
  32. div:hover {
  33. /* 鼠标经过div 让这个div 停止动画,鼠标离开就继续动画 */
  34. animation-play-state: paused;
  35. }
2. Χάρτης θερμότητας μεγάλων δεδομένων
  1. body {
  2. background-color: #333;
  3. }
  4. .map {
  5. position: relative;
  6. width: 747px;
  7. height: 616px;
  8. background: url(media/map.png) no-repeat;
  9. margin: 0 auto;
  10. }
  11. .city {
  12. position: absolute;
  13. top: 227px;
  14. right: 193px;
  15. color: #fff;
  16. }
  17. .tb {
  18. top: 500px;
  19. right: 80px;
  20. }
  21. .dotted {
  22. width: 8px;
  23. height: 8px;
  24. background-color: #09f;
  25. border-radius: 50%;
  26. }
  27. .city div[class^="pulse"] {
  28. /* 保证我们小波纹在父盒子里面水平垂直居中 放大之后就会中心向四周发散 */
  29. position: absolute;
  30. top: 50%;
  31. left: 50%;
  32. transform: translate(-50%, -50%);
  33. width: 8px;
  34. height: 8px;
  35. box-shadow: 0 0 12px #009dfd;
  36. border-radius: 50%;
  37. animation: pulse 1.2s linear infinite;
  38. }
  39. .city div.pulse2 {
  40. animation-delay: 0.4s;
  41. }
  42. .city div.pulse3 {
  43. animation-delay: 0.8s;
  44. }
  45. @keyframes pulse {
  46. 0% {}
  47. 70% {
  48. /* transform: scale(5); 我们不要用scale 因为他会让 阴影变大*/
  49. width: 40px;
  50. height: 40px;
  51. opacity: 1;
  52. }
  53. 100% {
  54. width: 70px;
  55. height: 70px;
  56. opacity: 0;
  57. }
  58. }
  59. </style>
  60. </head>
  61. <body>
  62. <div class="map">
  63. <div class="city">
  64. <div class="dotted"></div>
  65. <div class="pulse1"></div>
  66. <div class="pulse2"></div>
  67. <div class="pulse3"></div>
  68. </div>
  69. <div class="city tb">
  70. <div class="dotted"></div>
  71. <div class="pulse1"></div>
  72. <div class="pulse2"></div>
  73. <div class="pulse3"></div>
  74. </div>
  75. </div>

1.Εφέ εκτύπωσης κειμένου
  1. div {
  2. overflow: hidden;
  3. font-size: 20px;
  4. width: 0;
  5. height: 30px;
  6. background-color: pink;
  7. /* 让我们的文字强制一行内显示 */
  8. white-space: nowrap;
  9. /* steps 就是分几步来完成我们的动画 有了steps 就不要在写 ease 或者linear 了 */
  10. animation: w 4s steps(10) forwards;
  11. }
  12. @keyframes w {
  13. 0% {
  14. width: 0;
  15. }
  16. 100% {
  17. width: 200px;
  18. }
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div>世纪佳缘我在这里等你</div>
2. Τρέχοντας Αρκούδα
  1. body {
  2. background-color: #ccc;
  3. }
  4. div {
  5. position: absolute;
  6. width: 200px;
  7. height: 100px;
  8. background: url(media/bear.png) no-repeat;
  9. /* 我们元素可以添加多个动画, 用逗号分隔 */
  10. animation: bear .6s steps(8) infinite, move 4s forwards;
  11. }
  12. @keyframes bear {
  13. 0% {
  14. background-position: 0 0;
  15. }
  16. 100% {
  17. background-position: -1600px 0;
  18. }
  19. }
  20. @keyframes move {
  21. 0% {
  22. left: 0;
  23. }
  24. 100% {
  25. left: 50%;
  26. /* margin-left: -100px; */
  27. transform: translateX(-50%);
  28. }
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div></div>

3. Τρισδιάστατη μετατροπή

Το τρισδιάστατο σύστημα συντεταγμένων αναφέρεται στην πραγματικότητα στον τρισδιάστατο χώρο, ο οποίος αποτελείται από τρεις άξονες.

· Άξονας x: Οριζόντια προς τα δεξιά Σημείωση: Η δεξιά πλευρά του X είναι θετική τιμή και η αριστερή πλευρά είναι αρνητική τιμή

· άξονας y: κατακόρυφα προς τα κάτω Σημείωση: το κάτω μέρος του y είναι θετική τιμή και το πάνω μέρος είναι αρνητική.

· Άξονας Z: Κάθετη οθόνη Σημείωση: Θετικές τιμές προς τα έξω και αρνητικές τιμές προς το εσωτερικό

1.3D μετατόπιση translate3d(x,y,z)

translate:translateX(100px): Απλώς μετακινηθείτε στον άξονα x

translate:translateY (100px): Απλώς μετακινηθείτε στον άξονα Y

translform:translateZ (100px): Απλώς μετακινηθείτε στον άξονα z (σημείωση: το translateZ είναι γενικά σε μονάδες px) transform:translate3d (x, y,): όπου τα x, y και z αντίστοιχα αναφέρονται στην απόσταση προς την κατεύθυνση του ο άξονας που θα μετακινηθεί.

  1. body {
  2. /* 透视写到被观察元素的父盒子上面 */
  3. perspective: 200px;
  4. }
  5. div {
  6. width: 200px;
  7. height: 200px;
  8. background-color: pink;
  9. /* transform: translateX(100px);
  10. transform: translateY(100px); */
  11. /* transform: translateX(100px) translateY(100px) translateZ(100px); */
  12. /* 1. translateZ 沿着Z轴移动 */
  13. /* 2. translateZ 后面的单位我们一般跟px */
  14. /* 3. translateZ(100px) 向外移动100px (向我们的眼睛来移动的) */
  15. /* 4. 3D移动有简写的方法 */
  16. /* transform: translate3d(x,y,z); */
  17. /* transform: translate3d(100px, 100px, 100px); */
  18. /* 5. xyz是不能省略的,如果没有就写0 */
  19. transform: translate3d(200px, 100px, 100px);
  20. }
  1. προοπτική
  1. body {
  2. perspective: 600px;
  3. /* 透视写到被观擦元素的父盒子上面 */
  4. }
  5. div {
  6. width: 200px;
  7. height: 200px;
  8. background-color: pink;
  9. margin: 100px auto;
  10. transform: translateZ(0);
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <div></div>
  16. <div></div>
  17. <div></div>
  18. </body>

3.3Drotate3d

  1. body {
  2. perspective: 300px;
  3. }
  4. img {
  5. display: block;
  6. margin: 100px auto;
  7. transition: all 1s;
  8. }
  9. img:hover {
  10. transform: rotateX(45deg);
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <img src="media/pig.jpg" alt="">
  16. body {
  17. perspective: 500px;
  18. }
  19. img {
  20. display: block;
  21. margin: 100px auto;
  22. transition: all 1s;
  23. }
  24. img:hover {
  25. /* transform: rotateZ(180deg); */
  26. /* transform: rotate3d(x,y,z,deg); */
  27. /* transform: rotate3d(1, 0, 0, 45deg); */
  28. /* transform: rotate3d(0, 1, 0, 45deg); */
  29. transform: rotate3d(1, 1, 0, 45deg);
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <img src="media/pig.jpg" alt="">

4.3D απόδοση σε στυλ μετασχηματισμού

·Ελέγξτε εάν το στοιχείο παιδί ενεργοποιεί το τρισδιάστατο περιβάλλον. .

·Στιλ μεταμόρφωσης: το επίπεδο υποστοιχείο δεν ενεργοποιεί τον τρισδιάστατο χώρο από προεπιλογή

·Transform-style:preserve-3d-υποστοιχείο ανοίγει τρισδιάστατο χώρο

·Ο κωδικός γράφεται στον γονέα, αλλά επηρεάζει το θυγατρικό πλαίσιο

  1. body {
  2. perspective: 500px;
  3. }
  4. .box {
  5. position: relative;
  6. width: 200px;
  7. height: 200px;
  8. margin: 100px auto;
  9. transition: all 2s;
  10. /* 让子元素保持3d立体空间环境 */
  11. transform-style: preserve-3d;
  12. }
  13. .box:hover {
  14. transform: rotateY(60deg);
  15. }
  16. .box div {
  17. position: absolute;
  18. top: 0;
  19. left: 0;
  20. width: 100%;
  21. height: 100%;
  22. background-color: pink;
  23. }
  24. .box div:last-child {
  25. background-color: purple;
  26. transform: rotateX(60deg);
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div class="box">
  32. <div></div>
  33. <div></div>
  34. </div>
  1. Ανατροπή και των δύο πλευρών

1. Δημιουργία δομής HTML

<div class="box">

<div class="front">Προγραμματιστής σκούρου αλόγου</div>

<div class="back">Η δασκάλα ροζ σας περιμένει</div>

</div>

·Το κουτί γονέα περιέχει δύο θυγατρικά κουτιά πριν και μετά

·Το κουτί είναι ένα αναποδογυρισμένο κουτί, το μπροστινό είναι το μπροστινό κουτί και το πίσω μέρος είναι το πίσω κουτί.

  1. body {
  2. perspective: 400px;
  3. }
  4. .box {
  5. position: relative;
  6. width: 300px;
  7. height: 300px;
  8. margin: 100px auto;
  9. transition: all .4s;
  10. /* 让背面的紫色盒子保留立体空间 给父级添加的 */
  11. transform-style: preserve-3d;
  12. }
  13. .box:hover {
  14. transform: rotateY(180deg);
  15. }
  16. .front,
  17. .back {
  18. position: absolute;
  19. top: 0;
  20. left: 0;
  21. width: 100%;
  22. height: 100%;
  23. border-radius: 50%;
  24. font-size: 30px;
  25. color: #fff;
  26. text-align: center;
  27. line-height: 300px;
  28. }
  29. .front {
  30. background-color: pink;
  31. z-index: 1;
  32. }
  33. .back {
  34. background-color: purple;
  35. /* 像手机一样 背靠背 旋转 */
  36. transform: rotateY(180deg);
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="box">
  42. <div class="front">黑马程序员</div>
  43. <div class="back">pink老师这里等你</div>
  44. </div>
  1. Θήκη περιστροφής πλοήγησης
  1. * {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. ul {
  6. margin: 100px;
  7. }
  8. ul li {
  9. float: left;
  10. margin: 0 5px;
  11. width: 120px;
  12. height: 35px;
  13. list-style: none;
  14. /* 一会我们需要给box 旋转 也需要透视 干脆给li加 里面的子盒子都有透视效果 */
  15. perspective: 500px;
  16. }
  17. .box {
  18. position: relative;
  19. width: 100%;
  20. height: 100%;
  21. transform-style: preserve-3d;
  22. transition: all .4s;
  23. }
  24. .box:hover {
  25. transform: rotateX(90deg);
  26. }
  27. .front,
  28. .bottom {
  29. position: absolute;
  30. left: 0;
  31. top: 0;
  32. width: 100%;
  33. height: 100%;
  34. }
  35. .front {
  36. background-color: pink;
  37. z-index: 1;
  38. transform: translateZ(17.5px);
  39. }
  40. .bottom {
  41. background-color: purple;
  42. /* 这个x轴一定是负值 */
  43. /* 我们如果有移动 或者其他样式,必须先写我们的移动 */
  44. transform: translateY(17.5px) rotateX(-90deg);
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <ul>
  50. <li>
  51. <div class="box">
  52. <div class="front">黑马程序员</div>
  53. <div class="bottom">pink老师等你</div>
  54. </div>
  55. </li>
  56. <li>
  57. <div class="box">
  58. <div class="front">黑马程序员</div>
  59. <div class="bottom">pink老师等你</div>
  60. </div>
  61. </li>
  62. <li>
  63. <div class="box">
  64. <div class="front">黑马程序员</div>
  65. <div class="bottom">pink老师等你</div>
  66. </div>
  67. </li>
  68. <li>
  69. <div class="box">
  70. <div class="front">黑马程序员</div>
  71. <div class="bottom">pink老师等你</div>
  72. </div>
  73. </li>
  74. <li>
  75. <div class="box">
  76. <div class="front">黑马程序员</div>
  77. <div class="bottom">pink老师等你</div>
  78. </div>
  79. </li>
  80. <li>
  81. <div class="box">
  82. <div class="front">黑马程序员</div>
  83. <div class="bottom">pink老师等你</div>
  84. </div>
  85. </li>
  86. </ul>
  1. στροβιλοδρόμιο
  1. body {
  2. perspective: 1000px;
  3. }
  4. section {
  5. position: relative;
  6. width: 300px;
  7. height: 200px;
  8. margin: 150px auto;
  9. transform-style: preserve-3d;
  10. /* 添加动画效果 */
  11. animation: rotate 10s linear infinite;
  12. background: url(media/pig.jpg) no-repeat;
  13. }
  14. section:hover {
  15. /* 鼠标放入section 停止动画 */
  16. animation-play-state: paused;
  17. }
  18. @keyframes rotate {
  19. 0% {
  20. transform: rotateY(0);
  21. }
  22. 100% {
  23. transform: rotateY(360deg);
  24. }
  25. }
  26. section div {
  27. position: absolute;
  28. top: 0;
  29. left: 0;
  30. width: 100%;
  31. height: 100%;
  32. background: url(media/dog.jpg) no-repeat;
  33. }
  34. /* 正对着的图片 z轴*/
  35. section div:nth-child(1) {
  36. transform: rotateY(0) translateZ(300px);
  37. }
  38. /* 右边的图片 */
  39. section div:nth-child(2) {
  40. /* 先旋转好了再 移动距离 */
  41. transform: rotateY(60deg) translateZ(300px);
  42. }
  43. section div:nth-child(3) {
  44. /* 先旋转好了再 移动距离 */
  45. transform: rotateY(120deg) translateZ(300px);
  46. }
  47. section div:nth-child(4) {
  48. /* 先旋转好了再 移动距离 */
  49. transform: rotateY(180deg) translateZ(300px);
  50. }
  51. section div:nth-child(5) {
  52. /* 先旋转好了再 移动距离 */
  53. transform: rotateY(240deg) translateZ(300px);
  54. }
  55. section div:nth-child(6) {
  56. /* 先旋转好了再 移动距离 */
  57. transform: rotateY(300deg) translateZ(300px);
  58. }
  59. </style>
  60. </head>
  61. <body>
  62. <section>
  63. <div></div>
  64. <div></div>
  65. <div></div>
  66. <div></div>
  67. <div></div>
  68. <div></div>
  69. </section>

4. Ιδιωτικό πρόθεμα προγράμματος περιήγησης

-moz-: αντιπροσωπεύει τις ιδιωτικές ιδιότητες του προγράμματος περιήγησης firefox

-ms-: αντιπροσωπεύει τα ιδιωτικά χαρακτηριστικά του προγράμματος περιήγησης IE

-webkit-: αντιπροσωπεύει ιδιωτικές ιδιοκτησίες σαφάρι και χρωμίου

-o-: αντιπροσωπεύει ιδιωτικές ιδιοκτησίες Opera

2. Η μέθοδος γραφής που υποστηρίζεται

-moz-border-radius:10px;

-webkit-border-radius:10px;

-o-border-radius:10px;border-radius:10px;