2017-02-02 6 views
0

だから私はこの丸いdivを持っています。クリックするとdiv飛びが画面から消えますか?

<div id = "dot"></div> 

このスタイリングでは、マウスを置くと画面から飛び出します。

#dot { 
    height: 75px; 
    width: 75px; 
    background-color: red; 
    border-radius: 50%; 
    margin: 0 auto; 
    position: relative; 
    top: 30vh; 
    transition: all 2s; 
} 

#dot:hover { 
    top: -1000vh; 
} 

#dot { 
    -webkit-transition-timing-function: ease-in-out; 
    transition-timing-function: ease-in-out; 
} 

私はドットがクリックされたときに、フライオフ - 画面遷移が発生したい、と私は、純粋なCSSやJavaScriptのバニラで解決策を探しています。それが重要であれば、ドットは最終的にリンク要素にラップされ、その劇的な終了は新しいページの読み込みを予告します。

ボーナスに関する質問:このラウンドdivに最終的にSVGが含まれていると、パフォーマンス/外観に悪影響を及ぼしますか?

答えて

3

divtabindexを追加し、CSSを:hoverから:focusに変更することで、これを達成できます。

(アウトラインを削除することを忘れないでください)。

#dot { 
 
    height: 75px; 
 
    width: 75px; 
 
    background-color: red; 
 
    border-radius: 50%; 
 
    margin: 0 auto; 
 
    position: relative; 
 
    top: 30vh; 
 
    transition: all 2s; 
 
} 
 

 
#dot:focus { 
 
    top: -1000vh; 
 
    outline: none; 
 
} 
 

 
#dot { 
 
    -webkit-transition-timing-function: ease-in-out; 
 
    transition-timing-function: ease-in-out; 
 
}
<div tabindex='1' id = "dot"></div>

+0

なぜそれが 'tabindex'を必要とするのか? –

+1

Div、span、tableなどはデフォルトでフォーカス可能ではありませんが、tabindexが適用されている場合はフォーカスを受け取ることができます。純粋なCSSでこれを行う方法は他にもあります。しかし、それは私が持っているものです) –

+0

'' tabindexが必要で、キーボードユーザーのために期待通りに動作します – FelipeAls

関連する問題