CSS3 タイムラインアニメーション

CSS3 タイムラインアニメーション

成果を達成する

html

<h2>CSS3 タイムライン</h2>
<p>水平バージョンを表示するには、$vertical 変数を false に設定してください。</p>
<ul id='タイムライン'>
  <li class='仕事'>
    <input class='radio' id='work5' name='works' type='radio' チェック済み>
    <div class="相対">
      <label for='work5'>Lorem ipsum dolor sit amet</label>
      <span class='date'>2013 年 5 月 12 日</span>
      <span class='circle'></span>
    </div>
    <div クラス = 'コンテンツ'>
      <p>
        私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。
      </p>
    </div>
  </li>
  <li class='仕事'>
    <input class='radio' id='work4' name='works' type='radio'>
    <div class="相対">
      <label for='work4'>Lorem ipsum dolor sit amet</label>
      <span class='date'>2013 年 5 月 11 日</span>
      <span class='circle'></span>
    </div>
    <div クラス = 'コンテンツ'>
      <p>
        私は忍耐のない男ですが、彼が全く忍耐のない男であることも知っています! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です!
      </p>
    </div>
  </li>
  <li class='仕事'>
    <input class='radio' id='work3' name='works' type='radio'>
    <div class="相対">
      <label for='work3'>Lorem ipsum dolor sit amet</label>
      <span class='date'>2013 年 5 月 10 日</span>
      <span class='circle'></span>
    </div>
    <div クラス = 'コンテンツ'>
      <p>
        私は忍耐のない男ですが、彼が全く忍耐のない男であることも知っています! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です! 私は全く忍耐のない男です!
      </p>
    </div>
  </li>
  <li class='仕事'>
    <input class='radio' id='work2' name='works' type='radio'>
    <div class="相対">
      <label for='work2'>Lorem ipsum dolor sit amet</label>
      <span class='date'>2013 年 5 月 9 日</span>
      <span class='circle'></span>
    </div>
    <div クラス = 'コンテンツ'>
      <p>
        私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。
      </p>
    </div>
  </li>
  <li class='仕事'>
    <input class='radio' id='work1' name='works' type='radio'>
    <div class="相対">
      <label for='work1'>Lorem ipsum dolor sit amet</label>
      <span class='date'>2013 年 5 月 8 日</span>
      <span class='circle'></span>
    </div>
    <div クラス = 'コンテンツ'>
      <p>
        私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。私は忍耐のない男だが、忍耐のない男だ。
      </p>
    </div>
  </li>
</ul>

CS

/* -------------------------------------
 * 横向きの場合は、
 * $vertical変数をfalseにする
 * ------------------------------------- */
/* -------------------------------------
 * 一般的なスタイル
 * ------------------------------------- */
url をインポートします(https://fonts.googleapis.com/css?family=Noto+Sans);
体 {
  最大幅: 1200px;
  マージン: 0 自動;
  パディング: 0 5%;
  フォントサイズ: 100%;
  フォントファミリ: "Noto Sans"、サンセリフ;
  色: #eee9dc;
  背景: #48b379;
}

h2 {
  マージン: 3em 0 0 0;
  フォントサイズ: 1.5em;
  文字間隔: 2px;
  テキスト変換:大文字;
}

/* -------------------------------------
 * タイムライン
 * ------------------------------------- */
#タイムライン {
  リストスタイル: なし;
  マージン: 50px 0 30px 120px;
  左パディング: 30px;
  左境界線: 8px 実線 #eee9dc;
}
#タイムライン li {
  マージン: 40px 0;
  位置: 相対的;
}
#タイムライン p {
  マージン: 0 0 15px;
}

。日付 {
  上マージン: -10px;
  上位: 50%;
  左: -158px;
  フォントサイズ: 0.95em;
  行の高さ: 20px;
  位置: 絶対;
}

。丸 {
  上マージン: -10px;
  上位: 50%;
  左: -44px;
  幅: 10px;
  高さ: 10px;
  背景: #48b379;
  境界線: 5px 実線 #eee9dc;
  境界線の半径: 50%;
  表示: ブロック;
  位置: 絶対;
}

。コンテンツ {
  最大高さ: 20px;
  パディング: 50px 20px 0;
  境界線の色: 透明;
  境界線の幅: 2px;
  境界線のスタイル: solid;
  境界線の半径: 0.5em;
  位置: 相対的;
}
.content:before、.content:after {
  コンテンツ: "";
  幅: 0;
  高さ: 0;
  境界線: 透明な実線;
  位置: 絶対;
  ポインタイベント: なし;
  右: 100%;
}
.content:before {
  右境界線の色: 継承;
  境界線の幅: 20px;
  上位: 50%;
  上マージン: -20px;
}
.content:after {
  右境界線の色: #48b379;
  境界線の幅: 17px;
  上位: 50%;
  上マージン: -17px;
}
.content p {
  最大高さ: 0;
  色: 透明;
  テキスト配置: 両端揃え;
  単語区切り: 単語区切り;
  ハイフン: 自動;
  オーバーフロー: 非表示;
}

ラベル {
  フォントサイズ: 1.3em;
  位置: 絶対;
  zインデックス: 100;
  カーソル: ポインタ;
  上: 20px;
  遷移: 0.2 秒の線形変換。
}

.ラジオ{
  表示: なし;
}

.radio:checked + .relative ラベル {
  カーソル: 自動;
  変換: translateX(42px);
}
.radio:checked + .relative .circle {
  背景: #f98262;
}
.radio:checked ~ .content {
  最大高さ: 180px;
  境界線の色: #eee9dc;
  右マージン: 20px;
  変換: translateX(20px);
  遷移: max-height 0.4 秒線形、border-color 0.5 秒線形、transform 0.2 秒線形。
}
.radio:checked ~ .content p {
  最大高さ: 200px;
  色: #eee9dc;
  遷移: カラー 0.3 秒、線形 0.3 秒。
}

/* -------------------------------------
 * 携帯電話(縦型のみ)
 * ------------------------------------- */
@media スクリーンと (最大幅: 767px) {
  #タイムライン {
    左マージン: 0;
    左パディング: 0;
    左境界線: なし;
  }
  #タイムライン li {
    マージン: 50px 0;
  }

  ラベル {
    幅: 85%;
    フォントサイズ: 1.1em;
    空白: ラップなし;
    テキストオーバーフロー: 省略記号;
    オーバーフロー: 非表示;
    表示: ブロック;
    変換: translateX(18px);
  }

  。コンテンツ {
    パディング上部: 45px;
    境界線の色: #eee9dc;
  }
  .content:before、.content:after {
    境界線: 透明な実線;
    下部: 100%;
  }
  .content:before {
    境界線の下部の色: 継承;
    境界線の幅: 17px;
    上: -16px;
    左: 50px;
    左マージン: -17px;
  }
  .content:after {
    境界線下部の色: #48b379;
    境界線の幅: 20px;
    上: -20px;
    左: 50px;
    左マージン: -20px;
  }
  .content p {
    フォントサイズ: 0.9em;
    行の高さ: 1.4;
  }

  .circle、.date {
    表示: なし;
  }
}

以上がCSS3でタイムラインアニメーションを実装する方法の詳細です。CSS3タイムラインの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

<<:  Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

>>:  Vue はカスタム「モーダル ポップアップ ウィンドウ」コンポーネントのサンプル コードを実装します

推薦する

jQueryでフルスクリーンスクロール効果を実現

この記事の例では、フルスクリーンスクロールを実現するためのjQueryの具体的なコードを参考までに共...

JSで実施された機雷掃海プロジェクトの概要

この記事では、JS掃海プロジェクトの概要を参考までに紹介します。具体的な内容は次のとおりです。プロジ...

MySQL ストアドプロシージャとストアドファンクションの詳細な説明

1 ストアドプロシージャ1.1 ストアドプロシージャとは何かストアド プロシージャは、特定の機能を実...

mysql ERROR 1045 (28000) 問題の解決方法

私はmysql ERROR 1045に遭遇し、この問題に長い時間を費やしました。私はそれを自分で書き...

Ubuntu 20.04 CUDA & cuDNN のインストール方法 (グラフィカル チュートリアル)

CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は...

Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)

この記事では、Windows プラットフォームで ogg プログラムを監視する方法を紹介します。 (...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...

MySQL 8.0.22 のインストールと設定のグラフィックチュートリアル

MySQL8.0.22のインストールと設定(超詳細)参考までに、具体的な内容は次のとおりです。みなさ...

JavaScript を使用してセカンダリ メニューを作成する

この記事では、セカンダリメニュー効果を実現するためのJavaScriptの具体的なコードを参考までに...

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

ウェブページのエクスペリエンス: ウェブページのカラーマッチング

<br />ウェブページの色はウェブサイトのイメージを確立する鍵の一つですが、ネットユー...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

jQueryは画像の強調表示を実現します

ページ上の画像を強調表示することは非常に一般的です。ここでは、jQuery を使用して画像を強調表示...

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...