Hoàn toàn có thể với CSS3 hiện tại để dịch một đối tượng (cụ thể là DIV) dọc theo một cung hoặc đường cong? Đây là một hình ảnh để giúp minh họa. CSS3 Dịch qua một Arc
Trả lời
Bạn có thể sử dụng các phần tử lồng nhau và làm cho trình bao bọc và phần tử bên trong xoay theo hướng đối diện sao cho vòng quay của phần tử bên trong bù cho vòng quay của trình bao bọc.
Nếu bạn không cần giữ phần tử lồng nhau nằm ngang, bạn có thể bỏ qua vòng quay bên trong.
Đây là Dabblet. Ngăn xếp Snippet:
/* Arc movement */
.wrapper {
\t width: 500px;
\t margin: 300px 0 0;
\t transition: all 1s;
\t transform-origin: 50% 50%;
}
.inner {
\t display: inline-block;
\t padding: 1em;
\t transition: transform 1s;
\t background: lime;
}
html:hover .wrapper {
\t transform: rotate(180deg);
}
html:hover .inner {
\t transform: rotate(-180deg);
}
<div class="wrapper">
<div class="inner">Hover me</div>
</div>
Ngoài ra, Lea Verou đã viết một bài viết về vấn đề này với một cách mà chỉ sử dụng một phần tử: http://lea.verou.me/2012/02/moving-an-element-along-a-circle/
Câu trả lời tuyệt vời, thực sự cho phép tôi phá vỡ hộp tôi đang ở với hình ảnh động và nhận ra có thể làm được bao nhiêu hơn với các hình động tương đối. – Jasper
Vâng, hình ảnh động có thể được tạo ra bằng cách sử dụng tài sản CSS3 transform-nguồn gốc để thiết lập các điểm luân chuyển trong góc xa bên phải để nó di chuyển như thế.
Check it out: http://jsfiddle.net/Q9nGn/4/(đưa chuột qua)
#c {
border: 1px solid black;
height: 400px;
}
#c:hover #m {
-webkit-transform: rotate(180deg);
-webkit-transition: all 1s ease-in-out;
-moz-transform: rotate(180deg);
-moz-transition: all 1s ease-in-out;
-o-transform: rotate(180deg);
-o-transition: all 1s ease-in-out;
-ms-transform: rotate(180deg);
-ms-transition: all 1s ease-in-out;
transform: rotate(180deg);
transition: all 1s ease-in-out;
}
#m {
width: 60px;
height: 60px;
position: absolute;
background: green;
border-radius: 30px;
top: 270px;
left: 20px;
-webkit-transform-origin:300px 30px;
-moz-transform-origin:300px 30px;
-o-transform-origin:300px 30px;
-ms-transform-origin:300px 30px;
transform-origin:300px 30px;
}
<div id="c">
<div id="m"></div>
</div>
Để duy trì hoạt ảnh, bạn có thể bù đắp cho sự thay đổi trong 'biến đổi-nguồn gốc' chỉ với một phép toán nhỏ, vì vậy bạn có thể tiếp tục hoạt ảnh dọc theo các đường dẫn khác nhau. [Fiddle] (http://jsfiddle.net/LuArL/) –
Một thay thế cho việc di chuyển có nguồn gốc biến đổi, là sử dụng một phần lồng nhau đôi nơi một x-transform được áp dụng cho các thùng chứa bên ngoài, và một y-biến đổi với một đường cong nới lỏng thích hợp được áp dụng cho các thùng chứa bên trong.
- 1. Cờ biên dịch để trộn mã ARC và Non-ARC bị bỏ qua
- 2. Lỗi ARC khi biên dịch
- 3. ios5 ARC cờ trình biên dịch để loại trừ một tệp từ ARC là gì?
- 4. Hoạt ảnh CSS3, dịch sang vị trí
- 5. dịch vs biến đổi nguồn gốc css3
- 6. Vấn đề gỡ rối Xcode và ARC (bỏ qua dealloc)
- 7. ARC: Đặt cờ trình biên dịch thành -fno-objc-arc và lỗi xây dựng
- 8. Chuyển đổi sang trình biên dịch ARC - LLVM 3.0 Lỗi
- 9. Trình biên dịch có điều kiện khi sử dụng ARC
- 10. qua trình duyệt "chống đạn" CSS3 @ font-face cú pháp
- 11. tạo một rgba trắng/CSS3
- 12. realloc() & ARC
- 13. giả va_list trong ARC
- 14. CSS3 - Hoạt hóa thuộc tính lề trái qua JavaScript
- 15. iPhone ARC & Facebook SDK
- 16. NSURLConnection sendSynchronousRequest với ARC
- 17. JSONValue ARC vấn đề
- 18. Cách bật ARC cho một tệp đơn
- 19. ARC và ASIHTTPRequest
- 20. Cách bật ARC cho một tệp trong dự án Non-ARC?
- 21. initializers Cụm với ARC
- 22. Cách xóa ARC khỏi XCode
- 23. Objective-C destructor với ARC
- 24. Các câu hỏi về một @property readonly trong ARC
- 25. đèo luận variadic từ một phương pháp khác với ARC
- 26. Thay thế xoay CSS3?
- 27. Pragma để bật ARC một cách rõ ràng?
- 28. ARC __block và __weak
- 29. D3 arc gradient
- 30. ARC & Malloc: EXEC_BAD_ACCESS
Nếu điều kiện cho phép bạn có thể sử dụng CSS3 [góc tròn] (http://www.css3.info/preview/rounded-border/) và đường viền trong suốt để giả mạo hình parabol màu giả. – taz