質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • HTML

    8949questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    5768questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

flex-growをflex-wrap:wrapに適用したい

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 148

yumiyumi220

score 44

一つだけ拡大したいのですがflex-wrap:wrapだと厳しいのでしょうか?
よろしくお願いします。

[CodePen]
https://codepen.io/anon/pen/rKQmNa

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+3

質問者さんが実現したいことは、以下のように行えるかと思いますが、いかがでしょうか?

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>タイトル</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .items {
            width: 100%;
            height: 100vh;
            background-color: red;
            display: flex;
            flex-flow: row;
            flex-wrap: wrap;
        }

        .item {
            --item-width: 33%;
            background-color: green;
            border: 1px black solid;
            box-sizing: border-box;
            width: var(--item-width);
            align-content: flex-start;
        }

        .item:nth-child(5) {
            background-color: blue;
            flex-basis: calc(100% - var(--item-width));
        }
    </style>
</head>
<body>
<div class="items">
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
    <div class="item">
        <h1>jioji</h1>
    </div>
</div>
</body>
</html>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

私ならこうしちゃうかな。

<style>
* {
padding: 0;
margin: 0;
}

.items {
width: 100%;
height: 100vh;
background-color: red;
display: flex;
flex-direction: row; /* 注1 */
flex-wrap: wrap;
}

.item {
width: 33.3333%; 
width: calc(100% / 3); /* 注2 */
background-color: green;
border: 1px black solid;
box-sizing: border-box;
align-content: flex-start;
}

.item:nth-child(5) {
width: 66.6666%; 
width: calc(calc(100% /3) * 2); /* 注3 */
background-color: blue;
}
</style>

※注1… 
flex-flowは、flex-directionとflex-wrapのショートハンドなので、下でflex-wrapを個別指定してるならこちらもflex-directionと個別指定に揃えておいたほうが読みやすい。もしくは2つまとめて flex-flow: row wrap;としておくとか。

※注2…
アイテム幅をキッチリ1/3にしたいならcalc()を使うと良いです。
widthではなく、flex-basisで指定してもOK。

※注3…
css変数使うとIE11で効かないので、calc()の入れ子で2/3幅を計算してます。
widthではなく、flex-basisで指定してもOK。

flexboxの場合、複数行の途中でセル結合的な感覚で「ここから端まで引き伸ばす」みたいな指定は仕様的にできないと思うので、何らかの方法で幅を指定してそれっぽく見せるしかないかと。
厳密に質問者さんがやりたいレイアウトを作るなら、flexboxじゃなくてCSS Gridの方が適切だと思われます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

推測ですがこう言うことですか? ・・・勘違いしていたらスミマセン・・・

.item:nth-child(5) {
  background-color: blue;
  width:66%; /* 100%を「.item」2こ分に変更*/
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • HTML

    8949questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    5768questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。