1. ホーム
  2. Web制作
  3. CSS

[CSSチュートリアル] Pure CSS to click to expand もっと読む

2022-02-03 12:17:28

注意事項

記事一覧のインタフェースを開発する際、必要な情報の基本的な概要を把握するために、記事のヘッダーの一部を表示して #include<stdio.h> #include<curses.h> #include<signal.h> int main() { // WINDOW * new; initscr(); move(LINES/2,COLS/2); addstr("Hello! "); getch(); endwin(); } ボタンをクリックすると、詳細が表示されます。

参考記事 caibaojian.com/css-tonggle... を使用した場合の効果については、純粋なCSSのアイデアですが、この記事では1つの記事に対する効果を説明しています。 <li></li> タグでテーブルデータを生成するのは使い勝手が悪いので、これを前提に対応する最適化を行い、以下のようなコードとしました。

<div>
    <ul id="content-ul">
        <! -- This is the tag body that holds the LI tag for the article content -- >
    </ul>
</div>

[id^="contTab"] {
    display: none;
}

.content-more {
    display: none;
}

[id^="contTab"]:checked ~ #content {
    max-height: 95px;
    overflow: hidden;
}

[id^="contTab"]:checked ~ .content-more {
    display: block;
    position: relative;
    text-align: center;
}

[id^="contTab"]:checked ~ .content-more .gradient {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), #fff);
    background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0), #fff);
    height: 80px;
    position: absolute;
    left: 0;
    top: -79px;
    width: 100%;
}

[id^="contTab"]:checked ~ .content-more .readmore {
    display: inline-block;
    background: #319a1717;
    color: #0014ff9e;
    width: 300px;
    height: 30px;
    border-radius: 32px;
    line-height: 32px;
    font-size: 14px;
    cursor: pointer;
    text-indent: 0;
}

そしてもちろん、JSのコードのスニペットです。

function inner(response) {
    for (var val of response.data) {
        document.getElementById('content-ul').innerHTML += '' +
            '<li>' +
            '<h2 class="title">' + val.title + '</h2>' +
            '<p class="update_author">' + val.author_name + ' / ' + layui.util.toDateString(val.update, "yyyy-MM-dd HH:mm:ss") + '</p>' +
            '<input type="checkbox" id="contTab_' + val.id + '" checked="checked" class="tabbed">' +
            '<div id="content">' + val.content + '</div>' +
            '<div class="content-more"><div class="gradient"></div> <label for="contTab_' + val.id + '& quot; class="readmore">Click to read the whole article</label></div>' +
            '</li>'
    }
}

説明

改善点は、バインドされたタグのIDプロパティを動的に生成してバインドし、その後にファジーマッチングを使用して特定のIDセレクタに限定されないCSSセレクタをバインドすることです。

ソースコード

このコードスニペットは、M&OASプロジェクトに適用され、次のことができます。 ここをクリック をクリックすると、コード情報が表示され、より詳細な内容を確認することができます。

PS: もし、中に入って、関連するコードブロックが見つからなくても、慌てないでください、多分、まだGITHUにアップロードしていないのです、我慢してくださいQAQ ~。

脳みそはいいもんだ、あはははははは〜。

純粋なCSSについてこの記事は[クリックで全文拡大]機能を達成するために導入され、より関連するCSSは、全文の内容を展開するためにクリックしてくださいスクリプトホーム過去の記事を検索したり、次の関連記事を閲覧し続け、私はあなたが将来的に多くのスクリプトホームをサポートすることを願っています!.