ccs3に基づくタイムライン実装方法

ccs3に基づくタイムライン実装方法

Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開できる CSS3 ベースのタイムラインを紹介します。展開された各項目には、テキスト、画像、ビデオなどの要素を埋め込むことができます。操作効果は以下のとおりです。

成し遂げる

このコントロールの実装プロセスは比較的単純で、主にtest.htmlファイルとtimeline.cssファイルで構成されます。具体的なコードは次のとおりです。

1. test.html ファイル

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <link rel="スタイルシート" href="timeline.css"/>
    <title>タイムライン</title>
</head>
<本文>
    <div id='timeDiv'>
        <ul id='タイムライン'>
          <li class='仕事'>
            <input class='radio' id='work1' name='works' type='radio' チェック済み>
            <div class="相対">
              <label for='work1'>1. タイトル 1</label>
              <span class='date'>T1</span>
              <span class='circle'></span>
            </div>
            <div クラス = 'コンテンツ'>
              <p>
                長安元年(701年)、李白(号は太白)が、一般的には、唐代の綿州(白渓県)剣南路の長隆(後に玄宗皇帝の禁忌を避けるために長明に改名された)青蓮郷の出身地であると信じられています。彼の先祖の故郷は甘粛省天水市です。
                彼の家族背景や家族については不明です。 『新唐書』によれば、李白は興聖帝(梁武昭王李昊)の9代目の孫である。この記述によると、李白は李唐王朝の王と同じ一族であり、唐の太宗皇帝李世民の従兄弟であった。
                彼の先祖は李建成あるいは李元基であったという説もある。
              </p>
              <p><img src="http://i.qulishi.com/UploadFile/2014-7/2014725171362.jpg" /></p>
            </div>
          </li>
          <li class='仕事'>
            <input class='radio' id='work2' name='works' type='radio'>
            <div class="相対">
              <label for='work2'>2. タイトル 2</label>
              <span class='date'>T2</span>
              <span class='circle'></span>
            </div>
            <div クラス = 'コンテンツ'>
              <p>
                神龍元年(705年)11月に、武則天が亡くなった。李白は5歳でした。この年は私が読書を学び始めた年でした。
                『安州の裴長石宛書簡』には「私は5歳の時に六家を読みました」とある。六家は唐代の小学校の読み書きの教科書である。長石は県の副知事である。
              </p>
            </div>
          </li>
          <li class='仕事'>
            <input class='radio' id='work3' name='works' type='radio'>
            <div class="相対">
              <label for='work3'>3. タイトル 3</label>
              <span class='date'>T3</span>
              <span class='circle'></span>
            </div>
            <div クラス = 'コンテンツ'>
              <p>
                開元三年(715年)、李白は15歳であった。
                彼はすでに多くの詩を書き、著名人からも賞賛と支持を受け、社会活動にも取り組み始めていた。
                彼はまた、道教の思想の影響を受け始め、剣術を好み、遍歴の騎士になることを楽しみました。その年、實沈が生まれました。
              </p>
            </div>
          </li>
          <li class='仕事'>
            <input class='radio' id='work4' name='works' type='radio'>
            <div class="相対">
              <label for='work4'>4. タイトル 4</label>
              <span class='date'>T4</span>
              <span class='circle'></span>
            </div>
            <div クラス = 'コンテンツ'>
              <p>
                開元六年(718年)、李白は18歳であった。
                彼は学問を修めるために代田(現在の四川省江油市)の大光山に隠遁して暮らした。
                彼は近隣の県を旅し、江油、江閣、淄州(現在の四川省の県庁所在地)などを訪れ、多くの経験と知識を得た。
              </p>
            </div>
          </li>
        </ul>
        </div>
</本文>
</html>

2. timeline.css ファイル

#timeDiv{
    最大幅: 1200px;
    マージン: 0 自動;
    パディング: 0 5%;
    フォントサイズ: 100%;
    フォントファミリ: "Noto Sans"、サンセリフ;
    色: 黒;
    背景: 白;
}
/* -------------------------------------
* タイムライン
* ------------------------------------- */
#タイムライン {
リストスタイル: なし;
マージン: 50px 0 30px 120px;
左パディング: 30px;
border-left: 8px グレー実線;
}
#タイムライン li {
マージン: 40px 0;
位置: 相対的;
}
#タイムライン p {
マージン: 0 0 15px;
}

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

。丸 {
上マージン: -15px;
上位: 50%;
左: -49px;
幅: 20px;
高さ: 20px;
背景: 白;
境界線: 5px の灰色
境界線の半径: 50%;
表示: ブロック;
位置: 絶対;
}

。コンテンツ {
最大高さ: 20px;
パディング: 70px 20px 0;
境界線の色: 透明;
境界線の幅: 2px;
境界線のスタイル: solid;
境界線の半径: 0.5em;
位置: 相対的;
}
.content:before、.content:after {
コンテンツ: "";
幅: 0;
高さ: 0;
境界線: 透明な実線;
位置: 絶対;
ポインタイベント: なし;
右: 100%;
}
.content:before {
右境界線の色: 継承;
境界線の幅: 20px;
上位: 50%;
上マージン: -20px;
}
.content:after {
右境界線の色: 白;
境界線の幅: 17px;
上位: 50%;
上マージン: -17px;
}
.content p {
最大高さ: 0;
色: 透明;
テキスト配置: 両端揃え;
単語区切り: 単語区切り;
ハイフン: 自動;
オーバーフロー: 非表示;
}
ラベル {
フォントサイズ: 1.3em;
位置: 絶対;
zインデックス: 100;
カーソル: ポインタ;
上: 35px;
遷移: 0.2 秒の線形変換。
フォントの太さ: 太字;
}

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

.radio:checked + .relative ラベル {
カーソル: 自動;
変換: translateX(42px);
}
.radio:checked + .relative .circle {
背景: 赤;
}
.radio:checked ~ .content {
最大高さ: 200000px;
境界線の色: ライトグレー;
右マージン: 20px;
変換: translateX(20px);
遷移: max-height 0.4 秒線形、border-color 0.5 秒線形、transform 0.2 秒線形。
}
.radio:checked ~ .content p {
最大高さ: 200000px;
色: 黒;
遷移: カラー 0.3 秒、線形 0.3 秒。
}
/* -------------------------------------
* 携帯電話(縦型のみ)
* ------------------------------------- */
@media スクリーンと (最大幅: 767px) {
#タイムライン {
  左マージン: 0;
  左パディング: 0;
  左境界線: なし;
}
#タイムライン li {
  マージン: 50px 0;
}

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

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

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

【参考文献】 CSS3 タイムライン

ccs3 によるタイムライン実装方法についてはこれで終了です。より関連性の高い css3 タイムライン実装コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  テーブルはセルとimg画像を結合してtd HTML全体を埋めます

>>:  Node.js パッケージ マネージャー npm の具体的な使用方法

推薦する

Docker で onlyoffice をインストールして展開する詳細なプロセス

0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...

Mysql は null 値の first/last メソッドの例を実装します

序文MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読...

Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...

CSS のサイズ単位についての簡単な説明

ブラウザの互換性はどんどん良くなってきています。モバイル端末は基本的にすべてWebKitベースです。...

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...

Tomcat でサーブレット URL パターンを構成する際の問題の詳細な説明

tomcat の web.xml を構成する場合、サーブレットは比較的重要な問題です。ここでは、サー...

HTML で Web ページに動的な時計を書く

HTML を使用して動的な Web クロックを作成します。コードは次のとおりです。 <!DOC...

HTML の基礎必読 - CSS スタイルシートの包括的な理解

CSS (カスケーディング スタイル シート) は、HTML Web ページを美しくするために使用さ...

CSS で overflow-y: visible; が機能しない理由の分析と解決

シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...

HTMLはシンプルで美しいログインページを作成します

まずは見てみましょう。 HTML ソースコード: XML/HTML コードコンテンツをクリップボード...

MySql 最適化のための my.ini 中国語構成スキームの詳細な説明: InnoDB、4GB メモリ、および複数のクエリ

この記事は、4G メモリ システム用の MySQL 構成ファイル ソリューションです (主に Inn...

CSS ハート型読み込みアニメーションのソースコードの実装

さっそく、コードをお見せしましょう。コードは非常にシンプルなので、勉強すれば理解できるようになります...

Nginx 急ぎ購入 電流制限構成 実装分析

ビジネス上のニーズにより、急ぎの購入が発生することが多いため、ロード バランシング フロント エンド...

Vue要素はテーブルの追加、削除、データの変更を実装します

この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...

フレックスレイアウトの改行スペースでの align-content の使用

1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...