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

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

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

1回答

1395閲覧

flex-wrap: wrapが効かない

AmiI

総合スコア24

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2020/03/06 08:10

ボックスをこんな感じで、4つ並べたいと思っております。
イメージ説明

現在のコードはこんな感じです。

css

1<style> 2.zigzagbox { /*四角箱*/ 3 width: 300px; 4 height: 120px; 5 background-color: #0454a4; 6 margin: 0 30px; 7 position: relative; 8 display: flex; 9 /*ここより下は文字を上下左右中央寄せにするためのコード*/ 10 align-items: center; 11 justify-content: center; 12 text-align:center 13} 14.zigzagbox::before { /*左の棘*/ 15 background: linear-gradient(315deg, #0454a4 50%, transparent 52%), 16 linear-gradient(45deg, transparent 50%, #0454a4 52%); 17 background-size: 30px 20px; /*右の数字を小さくするととんがりを小さくできる*/ 18 content: ""; 19 position: absolute; 20 top: 0; 21 left: -29px; /*棘部分の調整*/ 22 height: 100%; 23 width: 30px; 24} 25.zigzagbox::after { /*右の棘*/ 26 background: linear-gradient(45deg, #0454a4 50%, transparent 52%), 27 linear-gradient(315deg, transparent 50%, #0454a4 52%); 28 background-size: 30px 20px; 29 content: ""; 30 position: absolute; 31 top: 0; 32 right: -29px; /*棘部分の調整*/ 33 height: 100%; 34 width: 30px; 35}}</style> 36<p></p> 37<p></p> 38<div class="zigzagbox"><b>Webああああああ</b></div><p></p> 39 40<div class="zigzagbox"><b>ああああああ</b></div><p></p> 41 42<div class="zigzagbox"><b>ああああああ</b></div><p></p> 43 44<div class="zigzagbox"><b>ああああああ</b></div><p></p>

各サイトを見てdisplay: flex;の下にflex-wrap: wrapを入れてみたのですが、何も変わりません。

https://teratail.com/questions/151134
この回答を参考にして、display: flex;を削除してflex-wrap: wrapを入れましたが、今度は文字の位置が上がってしまいました。
イメージ説明

また、displayの下にflex-direction:row;とflex-wrap: wrapを入れてみましたが、これもダメでした。

flex-wrap: wrapを効かせるにはどうすればいいのでしょうか。
他のサイトやこのサイトの類似例を見ても解決しないので、質問しました。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

display: flex;は親要素に設定する必要がありますので、zigzagbox をdivタグで囲んでそれに設定します。

html

1<div class="flexbox"> 2 <div class="zigzagbox"> 3 <b>Web広告を始めたいけど 4 何をすればいいのか 5 わからない</b> 6 </div> 7 <div class="zigzagbox"> 8 <b>ああああああ</b> 9 </div> 10 11 <div class="zigzagbox"> 12 <b>ああああああ</b> 13 </div> 14 15 <div class="zigzagbox"> 16 <b>ああああああ</b> 17 </div> 18</div>

css

1.flexbox { 2 display: flex; 3 flex-wrap: wrap; 4 width: 900px; 5 margin: 0 auto; /* 中央寄せ */ 6} 7 8.zigzagbox { /*四角箱*/ 9 width: 300px; 10 height: 120px; 11 background-color: #0454a4; 12 margin: 10px 30px; 13 position: relative; 14 display: flex; 15 /*ここより下は文字を上下左右中央寄せにするためのコード*/ 16 align-items: center; 17 justify-content: center; 18 text-align:center 19} 20.zigzagbox::before { /*左の棘*/ 21 background: linear-gradient(315deg, #0454a4 50%, transparent 52%), 22 linear-gradient(45deg, transparent 50%, #0454a4 52%); 23 background-size: 30px 20px; /*右の数字を小さくするととんがりを小さくできる*/ 24 content: ""; 25 position: absolute; 26 top: 0; 27 left: -29px; /*棘部分の調整*/ 28 height: 100%; 29 width: 30px; 30} 31.zigzagbox::after { /*右の棘*/ 32 background: linear-gradient(45deg, #0454a4 50%, transparent 52%), 33 linear-gradient(315deg, transparent 50%, #0454a4 52%); 34 background-size: 30px 20px; 35 content: ""; 36 position: absolute; 37 top: 0; 38 right: -29px; /*棘部分の調整*/ 39 height: 100%; 40 width: 30px; 41}

Codepenサンプル

投稿2020/03/06 08:36

hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AmiI

2020/03/06 08:56

ありがとうございます。 <style> .font_test { color: #0854a4; text-align: center; font-size: 35px } </style> <div class="font_test"> <font color=#0854a4> <p><b>このようなお悩みをお持ちではありませんか?</b></p></font></div> <style> .flexbox { display: flex; flex-wrap: wrap; width: 900px; margin: 0 auto; /* 中央寄せ */ } .zigzagbox { /*四角箱*/ width: 300px; height: 120px; background-color: #0454a4; margin: 10px 30px; position: relative; display: flex; /*ここより下は文字を上下左右中央寄せにするためのコード*/ align-items: center; justify-content: center; text-align:center } .zigzagbox::before { /*左の棘*/ background: linear-gradient(315deg, #0454a4 50%, transparent 52%), linear-gradient(45deg, transparent 50%, #0454a4 52%); background-size: 30px 20px; /*右の数字を小さくするととんがりを小さくできる*/ content: ""; position: absolute; top: 0; left: -29px; /*棘部分の調整*/ height: 100%; width: 30px; } .zigzagbox::after { /*右の棘*/ background: linear-gradient(45deg, #0454a4 50%, transparent 52%), linear-gradient(315deg, transparent 50%, #0454a4 52%); background-size: 30px 20px; content: ""; position: absolute; top: 0; right: -29px; /*棘部分の調整*/ height: 100%; width: 30px; }</style> <p></p> <p></p> <div class="flexbox"> <div class="zigzagbox"> <b>あああああ <br>ああああああ <br><span style="font-size:2em;">わからない</span></b></div><p></p> </div> <div class="flexbox"> <div class="zigzagbox"> <b><span style="font-size:2em;">あああああ</span>の<span style="font-size:2em;">ああああああ</span>が <br><span style="font-size:2em;">ああああああ</span></b></div><p></p> </div> <div class="flexbox"> <div class="zigzagbox"> <b><span style="font-size:2em;">あああああ</span>に<span style="font-size:2em;">ああああ</span> <br><span style="font-size:2em;">ああああ</span>が<span style="font-size:2em;">ない</span></b></div><p></p> </div> <div class="flexbox"> <div class="zigzagbox"> <b>あああああ <br><span style="font-size:1.5em;">ああああ <br>ああああああ</span></b></div><p></p> </div> 一応これでやってみたのですが、ボックスが真ん中寄せになるだけで、全く横並びになりません。
soliste16

2020/03/06 09:00

4つのdivをまとめて1つのdiv(flexboxクラス付き)で囲わないと意味がないです。
AmiI

2020/03/06 11:01

ありがとうございます。解決できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問