0

最近私のプロジェクトで、リンクの画像に出くわしました。それは、音楽、芸術、歌手などの業界で才能のある人々をつなぐようなものです。CSS3アニメーション、トランジション、または変換を使用して破線を実行することは可能ですか...?それがその効果を生み出す方法であるならば。

4

2 に答える 2

1

それは可能ですが、異なるブラウザーで何が起こるかを考慮する必要があります。CSS アニメーションは、すべてのブラウザーでまだ (完全に) サポートされているわけではありません。また、CSS 変換は完全には統合されていないため、IE ではランダムな水平線が入った壊れたページが表示されます。

ただし、これを使用するには、すべての行を個別にアニメーション化する必要があります。http://css3.bradshawenterprises.com/のアニメーション化に関する情報については、この Web サイトをご覧ください。

16行の場合、これはひどいものです。しかし、以下のコードで実行できます。

.line {
 border-top: 1px solid red;
 height: 1px;
}

#line1 {
 position absolute;
 width: 200px;
 -moz-transform:rotate(45deg);
 -webkit-transform:rotate(45deg);
 transform:rotate(45deg);
 -webkit-animation:move_line1 1s infinite;
 -moz-animation:move_line1 1s infinite;
 animation:move_line1 1s infinite;
}

#line2 {
 ...
}

@keyframes move_line1 {
 0% {
  top: 300px;
  left: 300px;
 }
 100% {
  top: 280px; /* Based on the rotation you can calculate the new x and y with sine and cosine */
  left: 280px;
 }
}

@keyframes move_line2 {
 ...
}

基本的に、htmlに次を追加します

<div id="line1" class="line> </div>
<div id="line2" class="line> </div>
...
于 2012-05-20T13:21:15.340 に答える
1
border: 1px dashed red;

次に、他の方法を使用して正しく配置します

于 2012-05-20T08:27:33.663 に答える