これを機能させるためにフレックスボックスを2回適用する必要があるのはなぜですか?

クリス

タイトルについては申し訳ありませんが、それはかなり不明確ですが、私はそれを他に書く方法を知りませんでした。

つまり、基本的には、HTMLとCSSだけで非常にシンプルなWebサイトを作成しています。カードの<a>どこをクリックしてもクリックできるようにしたかったので、独自の親要素を持つこれら3つのカードがあります。そして、それらすべての要素は、というdivタグでラップされますcards

要素にアンカータグを追加する前cardsは、CSSファイルのクラスでflexboxを使用するだけで、すべてのカードを中央に配置していましたこの時点まで、すべてのカードは同じ線上にあり、完全に中央に配置されていました。ここで、各カードを別々のアンカータグでラップした後、cardsクラスで使用したのと同じフレックスボックス形式をそのdiv内のすべてのアンカー要素に適用しました。この時点まではすべて良好です。しかし、cardsクラスでフレックスボックスのフォーマットを削除すると、アンカータグであるカードの親が同じフレックスボックスのフォーマットを持っていても、すべてのカードがブロック要素に変わります。では、なぜそれが起こるのでしょうか?フレックスボックスは直接の子供にのみ適用され、孫には適用されないと思いました。

.cards{
    display: flex;
    justify-content: space-between;
}

.cards a {
    display: flex;
    text-align: center;
    color: white;
    text-decoration: none;
    margin: 0 1rem;
}
.cards p {
    font-size: 0.85rem;
    line-height: 1.2rem;
    padding: 0 1.25rem;
}

.card1{
    background-image: url("images/image-background-card1.jpg");
    background-size: cover;
    background-position: bottom;
    min-height: 200px;
    width: 100%;
}
.card2{
    background-image: url("images/image-background-card2.jpg");
    background-size: cover;
    background-position: bottom;
    min-height: 15.625rem;
    width: 100%;
}
.card3{
    background-image: url("images/image-background-card3.jpg");
    background-size: cover;
    background-position: bottom;
    min-height: 15.625rem;
    width: 100%;
}
    <div class="cards">
            <a href="#">
                <div class="card1">
                    <i class="fas fa-motorcycle"></i>
                    <h2>Book Online</h2>
                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque hic illum accusantium ratione corporis voluptatem.</p>
                </div>
            </a>
            <a href="#">
                <div class="card2">
                    <i class="fas fa-wrench"></i>
                    <h2>Service Types</h2>
                    <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Sunt praesentium placeat sapiente nulla omnis voluptatum!</p>
                </div>
            </a>
            <a href="#">
                <div class="card3">
                    <i class="fas fa-phone-square-alt"></i>
                    <h2>Call for Advice</h2>
                    <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Sunt praesentium placeat sapiente nulla omnis voluptatum!</p>
                </div>
            </a>
        </div>

したがって、基本的に.cardscssファイル内ものを削除すると、各カードの親の内部に同じフレックスボックス形式があり、他のcssが無意味になると思っていたとしても、要素はインラインになります。

これがコーデックスなので、私が何を意味するのかがわかります。カードの画像を背景色に置き換えました。codepen

Xenvi

私があなたの質問を正しく理解している場合、Flexboxは正常に機能しています。各コンポーネントとその子を独自のコンテナとして想像する必要があります。'cards'クラスは、個々のカードを整列させます。'cards'のFlexcssは、共通の親(直接の子)を共有するアイテムにのみ影響します。つまり、カードがカードコンテナに対してどのように配置されるかです。つまり、カード内のコンテンツはスタイリングの影響を受けないため、フレックスプロパティを再割り当てする必要があります。

個々のカード(「.cardsa」)ごとにflexcssが付属しています。これは、各「a」要素の直接の子のみをスタイル設定するため、コンテンツをどのように配置するかを指定します。これは、「カード」フレックスボックスクラスを削除しても、各カードがコンテナに対してどのように配置されるかを指示するものがないことを意味します。そのため、階層とコンテンツの配置方法に応じて、フレックススタイルを再定義する必要があります。

誤解した場合は訂正してください。それ以外の場合は、これが何らかの洞察を提供することを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このJavaScript関数を機能させるために2回クリックする必要があるのはなぜですか?

分類Dev

正当化を機能させるためにクラスを2回追加する必要があるのはなぜですか?

分類Dev

onclickを機能させるには、チェックボックスを2回押す必要があります

分類Dev

ボタンが機能するために2回クリックする必要があるのはなぜですか?

分類Dev

機能を実行するために2回クリックする必要があるのはなぜですか?

分類Dev

イベントを反応させるために2回クリックする必要があるのはなぜですか?

分類Dev

Android Studioで機能させるには、ボタンを2回クリックする必要があります

分類Dev

イベントを開催するためにボタンを2回クリックする必要があるのはなぜですか?

分類Dev

この場合、画像をロードするために2回クリックする必要があるのはなぜですか?

分類Dev

動作するためにボタンを2回クリックする必要があるのはなぜですか

分類Dev

jQuery Validateを使用して送信するためにフォームを2回クリックする必要があるのはなぜですか?

分類Dev

1つを整列させるのに、2つのフレックスの子を右に整列させることが失敗するのはなぜですか?

分類Dev

画像を正しくフォーマットするために、このpythonスクリプトを2回実行する必要があるのはなぜですか?

分類Dev

インポートされた構造体にアクセスするために追加の `::`プレフィックスを使用する必要があるのはなぜですか?

分類Dev

AWS Glueブックマークを機能させるためにトランスフォーメーションおよびシンクオペレーションを呼び出すときに、なぜ `transformation_ctx`パラメーターを設定する必要があるのですか?

分類Dev

入力フィールドにフォーカスするAngularJSディレクティブ:それを機能させるためにsetTimeoutの呼び出しが必要なのはなぜですか?

分類Dev

サーボを動かすために矢印キーを3回クリックする必要があるのはなぜですか?

分類Dev

Equatableを機能させるために!=を追加する必要があるのはなぜですか?

分類Dev

再帰を機能させるために `return`を使用する必要があるのはなぜですか?

分類Dev

オブジェクトを機能させるために、このクラスにオブジェクトを渡す必要があるのはなぜですか?

分類Dev

インターフェイスを実装せずにメソッドを定義するだけでなく、特定の機能を提供するためにインターフェイスを実装する必要があるのはなぜですか?

分類Dev

Typescript、Ionic 2で機能するために、このコマンドを2回入力する必要があるのはなぜですか?

分類Dev

メニューを開いたり閉じたりするために2回クリックする必要があるのはなぜですか

分類Dev

WPFで正しく機能するためにICommandオブジェクトをパブリックにする必要があるのはなぜですか?

分類Dev

このスタック実装で構造体へのポインタを渡すために&を使用する必要があるのはなぜですか

分類Dev

テキストボックスのフォーカスが失われたため、ボタンを2回クリックする必要があります

分類Dev

テキストボックスのフォーカスが失われたため、ボタンを2回クリックする必要があります

分類Dev

JavaScript:colorActiveLine関数を実行するためにテーブルを2回クリックする必要があるのはなぜですか?

分類Dev

angle8とjqueryでonclickイベントをトリガーするために2回クリックする必要があるのはなぜですか

Related 関連記事

  1. 1

    このJavaScript関数を機能させるために2回クリックする必要があるのはなぜですか?

  2. 2

    正当化を機能させるためにクラスを2回追加する必要があるのはなぜですか?

  3. 3

    onclickを機能させるには、チェックボックスを2回押す必要があります

  4. 4

    ボタンが機能するために2回クリックする必要があるのはなぜですか?

  5. 5

    機能を実行するために2回クリックする必要があるのはなぜですか?

  6. 6

    イベントを反応させるために2回クリックする必要があるのはなぜですか?

  7. 7

    Android Studioで機能させるには、ボタンを2回クリックする必要があります

  8. 8

    イベントを開催するためにボタンを2回クリックする必要があるのはなぜですか?

  9. 9

    この場合、画像をロードするために2回クリックする必要があるのはなぜですか?

  10. 10

    動作するためにボタンを2回クリックする必要があるのはなぜですか

  11. 11

    jQuery Validateを使用して送信するためにフォームを2回クリックする必要があるのはなぜですか?

  12. 12

    1つを整列させるのに、2つのフレックスの子を右に整列させることが失敗するのはなぜですか?

  13. 13

    画像を正しくフォーマットするために、このpythonスクリプトを2回実行する必要があるのはなぜですか?

  14. 14

    インポートされた構造体にアクセスするために追加の `::`プレフィックスを使用する必要があるのはなぜですか?

  15. 15

    AWS Glueブックマークを機能させるためにトランスフォーメーションおよびシンクオペレーションを呼び出すときに、なぜ `transformation_ctx`パラメーターを設定する必要があるのですか?

  16. 16

    入力フィールドにフォーカスするAngularJSディレクティブ:それを機能させるためにsetTimeoutの呼び出しが必要なのはなぜですか?

  17. 17

    サーボを動かすために矢印キーを3回クリックする必要があるのはなぜですか?

  18. 18

    Equatableを機能させるために!=を追加する必要があるのはなぜですか?

  19. 19

    再帰を機能させるために `return`を使用する必要があるのはなぜですか?

  20. 20

    オブジェクトを機能させるために、このクラスにオブジェクトを渡す必要があるのはなぜですか?

  21. 21

    インターフェイスを実装せずにメソッドを定義するだけでなく、特定の機能を提供するためにインターフェイスを実装する必要があるのはなぜですか?

  22. 22

    Typescript、Ionic 2で機能するために、このコマンドを2回入力する必要があるのはなぜですか?

  23. 23

    メニューを開いたり閉じたりするために2回クリックする必要があるのはなぜですか

  24. 24

    WPFで正しく機能するためにICommandオブジェクトをパブリックにする必要があるのはなぜですか?

  25. 25

    このスタック実装で構造体へのポインタを渡すために&を使用する必要があるのはなぜですか

  26. 26

    テキストボックスのフォーカスが失われたため、ボタンを2回クリックする必要があります

  27. 27

    テキストボックスのフォーカスが失われたため、ボタンを2回クリックする必要があります

  28. 28

    JavaScript:colorActiveLine関数を実行するためにテーブルを2回クリックする必要があるのはなぜですか?

  29. 29

    angle8とjqueryでonclickイベントをトリガーするために2回クリックする必要があるのはなぜですか

ホットタグ

アーカイブ