12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

un-T factory! XAAdvent Calendar 2022

Day 17

CSSだけでモーダルを使用してみる

Last updated at Posted at 2022-12-17

まえおき

12月といえばアドベントカレンダー。
アドベントカレンダーといえばこの業界にいると記事を書かなくては!となりますよね。
本来はイエス・キリストの降誕を待ち望む期間に1日ずつ開けていくカレンダーですが、海外では紅茶やお菓子のアドベントカレンダーもたくさんあります。

今回はティータイムにぴったりなアドベントカレンダーをCSSだけで描いてみました。

紅茶についてはあまり詳しくはなく、少し嗜む程度ですがおすすめを載せましたので、足を運べそうなお店がありましたらぜひ行ってみてください。(CSS書くよりリストまとめるのに時間がかかったかもしれない😿

なんちゃってアドベントカレンダー

See the Pen Le Calendrier de l'Avent by いおり🔯 (@96usa_koi) on CodePen.

今回使用してみたかったこと

  • チェックボックスのアニメーション
  • 擬似クラス:targetだけでモーダル

※気になってたCSSを触れてみただけですので、アクセシビリティーの考慮はしておりません。

チェックボックスのアニメーション

input:checked になったらinputと兄弟関係にあるクラスがアニメーションします。

    <label>
      <input type="checkbox" name="" value="">
      <div class="open-door">
      <div class="doorArea">
        <div class="door">Le Calendrier de l'Avent</div>
input[type=checkbox]:checked ~ .doorArea .door {
  animation: doorOpen 1s linear 0s;
  animation-fill-mode: forwards;
}

@keyframes doorOpen{
  0% {
    transform: translate(-50%, -50%) rotateY(0deg);
  }

  100% {
    transform: translate(-56.5%, -50%) rotateY(85deg) skewY(-10deg);
    opacity: 0;
    display: none;
    z-index: -1;
  }
}

擬似要素:targetのモーダル

MDNを見た方がわかりやすいのでコードは割愛します。

MDNに載っているdemoが滑らかで綺麗です。
JavaScriptを使用していないとは思えないくらいナチュラルですね。

まとめ

CSSだけでマリ●を再現している方を見かけてから、気になってたCSSを触ってみました。
ラジオボタンでの複数アニメーションも触ってみたいです。

以上

12
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?