ホームページ > ウェブフロントエンド > CSSチュートリアル > ウォーターフォールフローレイアウトをCSSで実装する方法

ウォーターフォールフローレイアウトをCSSで実装する方法

青灯夜游
リリース: 2023-01-06 11:13:01
オリジナル
4761 人が閲覧しました

CSS を使用してウォーターフォール フロー レイアウトを実装する方法: 1. 複数列の複数列レイアウトを使用します。 2. これを実現するには、フレックス レイアウトを使用します。外側のレイヤーを行レイアウトに設定し、次にコンテナを設定して列レイアウトに設定します。列を全体として扱い、列を分割し、幅を固定します。コラムです。

ウォーターフォールフローレイアウトをCSSで実装する方法

このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。

ウォーターフォール フローのレイアウトはやはり魅力的だと感じています。最近、ウォーターフォール フローの実装を実践しているのを目にしました。ここに記録します。特に、フレックス レイアウトでのウォーターフォール フローの実装は素晴らしいと感じています。まだ少し混乱していますが、その原理を理解できるようになりました。

1.ウォーターフォール フローを実装するための複数列の複数列のレイアウト

最初に、いくつかのプロパティについて簡単に説明します。複数列に関連する

  • column-count は列数を設定します
  • column-gap は列間の間隔を設定します
  • column-width は各列の幅を設定しますcolumn

また、サブコンテナーでブレークインサイドの設定を組み合わせて、複数列レイアウト、ページ分割されたメディア、および複数リージョンのコンテキストでの予期せぬ中断を防ぎます

break-inside属性值
  auto  指定既不强制也不禁止元素内的页/列中断。
  avoid  指定避免元素内的分页符。
  avoid-page  指定避免元素内的分页符。
  avoid-column 指定避免元素内的列中断。
  avoid-region  指定避免元素内的区域中断。
ログイン後にコピー
  • インターセプトされた部分自分で入力できます
/* html文件 */
<!-- 使用multi-columns实现瀑布流 -->
<div id="root">
    <div class="item">
        <img class="itemImg" src="../images/1.jpeg" alt=""/>
        <div class="userInfo">
            <img class="avatar" src="../images/gift.png" alt=""/>
            <span class="username">牵起你的左手护着你</span>
        </div>
    </div>
    <div class="item">
        <img class="itemImg" src="../images/2.jpg" alt=""/>
        <div class="userInfo">
            <img class="avatar" src="../images/gift.png" alt=""/>
            <span class="username">牵起你的左手护着你</span>
        </div>
    </div>
    <div class="item">
        <img class="itemImg" src="../images/3.jpg" alt=""/>
        <div class="userInfo">
            <img class="avatar" src="../images/gift.png" alt=""/>
            <span class="username">牵起你的左手护着你</span>
        </div>
    </div>
    <div class="item">
        <img class="itemImg" src="../images/4.jpg" alt=""/>
        <div class="userInfo">
            <img class="avatar" src="../images/gift.png" alt=""/>
            <span class="username">牵起你的左手护着你</span>
        </div>
    </div>
    <div class="item">
        <img class="itemImg" src="../images/5.jpeg" alt=""/>
        <div class="userInfo">
            <img class="avatar" src="../images/gift.png" alt=""/>
            <span class="username">牵起你的左手护着你</span>
        </div>
    </div>
</div>
ログイン後にコピー
/* css样式 */
body {
    background: #e5e5e5;
}
/* 瀑布流最外层 */
#root {
     margin: 0 auto;
     width: 1200px;
     column-count: 5;
     column-width: 240px;
     column-gap: 20px;
}
/* 每一列图片包含层 */
.item {
     margin-bottom: 10px;
     /* 防止多列布局,分页媒体和多区域上下文中的意外中断 */
     break-inside: avoid;
     background: #fff;
}
.item:hover {
     box-shadow: 2px 2px 2px rgba(0, 0, 0, .5);
}
/* 图片 */
.itemImg {
     width: 100%;
     vertical-align: middle;
}
/* 图片下的信息包含层 */
.userInfo {
     padding: 5px 10px;
}
.avatar {
     vertical-align: middle;
     width: 30px;
     height: 30px;
     border-radius: 50%;
}
.username {
     margin-left: 5px;
     text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
}
ログイン後にコピー

ウォーターフォールフローレイアウトをCSSで実装する方法

ウォーターフォールフローレイアウトをCSSで実装する方法

##2.flex レイアウトでウォーターフォール フローを実装します

##外層の設定行レイアウトの場合はコンテナを設置し、列レイアウトとして列を全体として扱い、列を分割して列幅を固定することで実現します。
  • /* html文件(只截取两列布局)*/
    <div id="root">
        <div class="itemContainer">
            <div class="item">
                <img class="itemImg" src="../images/1.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/2.jpg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/3.jpg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/4.jpg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/5.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/6.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/7.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
        </div>
        <div class="itemContainer">
            <div class="item">
                <img class="itemImg" src="../images/5.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/7.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/6.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/5.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/6.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
            <div class="item">
                <img class="itemImg" src="../images/6.jpeg" alt=""/>
                <div class="userInfo">
                    <img class="avatar" src="../images/gift.png" alt=""/>
                    <span class="username">牵起你的左手护着你</span>
                </div>
            </div>
        </div>
    </div>
    ログイン後にコピー
    /* css文件 */
    body{
       background: #e5e5e5;
    }
    #root{
        display: flex;
        flex-direction: row;
        margin: 0 auto;
        width: 1200px;
    }
    .itemContainer{
        margin-right: 10px;
        flex-direction: column;
        width: 240px;
    }
    .item{
       margin-bottom: 10px;
       background: #fff;
    }
    .itemImg{
       width: 100%;
    }
    .userInfo {
       padding: 5px 10px;
    }
    .avatar {
       vertical-align: middle;
       width: 30px;
       height: 30px;
       border-radius: 50%;
    }
    .username {
       margin-left: 5px;
       text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
    }
    ログイン後にコピー

    ウォーターフォールフローレイアウトをCSSで実装する方法

      実践後、純粋な CSS によって実装されたウォーターフォール フローは列ごとにのみ配置できることがわかりました。 js を使用してウォーターフォール フローを実装します。これは、一般的なウォーターフォール フローにより一致します
    • (学習ビデオ共有:
    css ビデオ チュートリアル

    )

    以上がウォーターフォールフローレイアウトをCSSで実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート