CSS でトランジションを設定する
-
CSS でトランジションを設定するには、
transition
プロパティとともにopacity
およびvisibility
プロパティを使用する -
CSS でトランジションを設定するには、
transition
プロパティとともにheight
、opacity
、overflow
プロパティを使用する
この記事では、CSS で遷移を設定する方法を紹介します。ここでは、opacity
, height
, visibility
に transition
を設定して、ホバリングおよびホバリング時にフェードインおよびフェードアウト効果を与える方法を学習します。
CSS でトランジションを設定するには、transition
プロパティとともに opacity
および visibility
プロパティを使用する
CSS の display
プロパティで transition
プロパティを使用することはできません。たとえば、CSS の transition
プロパティを使用して、ホバー(マウスイン)後に display : none
を display : block
に変更したり、その逆を行ったりすることはできません。したがって、トランジションとともに opacity
および visibility
プロパティを使用して、アイテムにフェードインおよびフェードアウト効果を与えることができます。Transition には、transition-property
、transition-duration
、transition-timing-function
、transition-delay
などの特定のプロパティがあります。遷移の省略形プロパティを遷移:不透明度 2s 線形 1s
として使用することもできます。ここで、opacity
は transition-property
を示し、2s
は transition-duration
を示し、linear
は transtion-timing-function
を、1s
は transition-delay
を表しています。hover
を使用して、transition
を試すことができます。
たとえば、div
を作成し、ul
タグと li
タグを使用して、3つの順序付けされていないリストアイテムのリストを作成します。div
には見やすいように 1px solid black
の境界線を付けて表示します。ul
のプロパティを opacity: 0
と visibility: hidden
、transition: visibility 0s, opacity 0.6s linear
を設定します。opacity
と visibility
の両方を使用しています。これは、opacity: 0
のみを使用した場合でも、アイテムをクリックしてホバーできるためです。ul
ホバープロパティを visibility: visible
および opacity: 1
に設定して、ul
のリストアイテムがホバリング中にのみ transition
効果で表示されるようにします。
次の例は、ul
のアイテムがホバーしている間のみ表示されることを示しています。アイテムは 0.6 秒以内に線形効果で表示され、マウスを離すと再び非表示になります。
サンプルコード:
<div>
<ul>
<li> Apple </li>
<li> Banana </li>
<li> Mango </li>
</ul>
</div>
div {
border : 1px solid black;
}
div > ul {
visibility: hidden;
opacity: 0;
transition : visibility 0s, opacity 0.6s linear;
}
div:hover > ul {
visibility : visible;
opacity : 1;
}
CSS でトランジションを設定するには、transition
プロパティとともに height
、opacity
、overflow
プロパティを使用する
display: none
および display: block
でトランジションを使用する別の方法は、トランジションと一緒に使用される height
、overflow
、および opacity
プロパティである可能性があります。リストに opacity : 0
と height : 0
を設定して、アイテムが表示されないようにすることができます。また、transition-duration
に時間がかかる間、アイテムが div
の外に出ないように overflow: hidden
を設定する必要があります。最初の方法と同じように、transition
省略形プロパティを使用できます。
たとえば、div
を作成し、ul
および li
タグを使用して 3つの順序付けされていないアイテムのリストを作成します。最初の方法と同じように、div
に 1px solid black
の境界線を付けます。ul
のプロパティを opacity: 0
、overflow: hidden
および height: 0
として設定します。transition
プロパティの値を opacity 0.6s ease-in
として設定します。ul
ホバープロパティを height: auto
および opacity: 1
に設定して、ul
のリストアイテムがいくつかの transition
効果でホバリングしているときにのみ表示されるようにします。
次の例は、div
が空で、div
の height
が 0px
であることを示しています。しかし、div
にカーソルを合わせると、アイテムリストが ease-in
効果で表示されます。ease-in
オプションは、トランジションのスロースタートを設定します。div
の height
プロパティは auto
になります。div
からホバーアウトすると、再び空になります。
サンプルコード:
<div>
<ul>
<li>Apple</li>
<li>Banana</li>
<li>Mango</li>
</ul>
</div>
div {
border: 1px solid black;
}
div > ul {
opacity: 0;
height: 0;
overflow: hidden;
transition: opacity 0.6s ease-in;
}
div:hover > ul {
opacity: 1;
height: auto;
}