Tìm thấy this trực tuyến.
Nó sử dụng thuộc tính transform-style: preserve-3d
và xoay các electron trên trục x, y và z để đạt được hiệu ứng 3D này.
Cấu trúc HTML
<div id="main">
<div id="atom">
<div class="orbit">
<div class="path">
<div class="electron"></div>
</div>
</div>
<div class="orbit">
<div class="path">
<div class="electron"></div>
</div>
</div>
<div class="orbit">
<div class="path">
<div class="electron"></div>
</div>
</div>
<div class="orbit">
<div class="path">
<div class="electron"></div>
</div>
</div>
<div id="nucleus"></div>
</div>
</div>
CSS
.orbit {
-webkit-transform-style: preserve-3d;
-webkit-transform: rotateX(80deg) rotateY(20deg);
}
#atom .orbit:nth-child(2) {
-webkit-transform: rotateX(80deg) rotateY(70deg)
}
#atom .orbit:nth-child(3) {
-webkit-transform: rotateX(80deg) rotateY(-20deg)
}
#atom .orbit:nth-child(4) {
-webkit-transform: rotateX(80deg) rotateY(-50deg)
}
.path {
-webkit-transform-style: preserve-3d;
-webkit-animation-name: pathRotate;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
.electron {
-webkit-animation-name: electronFix;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
@-webkit-keyframes pathRotate {
from {
-webkit-transform: rotateZ(0deg);
} to {
-webkit-transform: rotateZ(360deg);
}
}
@-webkit-keyframes electronFix {
from {
-webkit-transform: rotateX(90deg) rotateY(0deg);
} to {
-webkit-transform: rotateX(90deg) rotateY(-360deg);
}
}
Fiddle
Blog Post
Điều này phải được đóng trên cùng một lý do OP đã đưa ra những thứ như http://stackoverflow.com/questions/16500907/collapsible-panel-in-html-css (cá nhân tôi nghĩ cả hai đều hợp lệ, nhưng OP rõ ràng có tiêu chuẩn kép) – gcb
@gcb Tôi không ngại đóng nó, nếu bạn so sánh ngày, tôi đã hỏi câu hỏi này khi tôi mới vào trang web và không nhận thức được các quy tắc :) –
@gcb Nếu bạn thấy [this] (http://stackoverflow.com/q/13132864/1542290), bạn sẽ tìm thấy tôi tốt hơn rất nhiều :) –