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

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

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

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

CSS

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

Q&A

解決済

1回答

3324閲覧

flexを使用した際の子要素の高さについて

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/06/28 13:43

前提・実現したいこと

liに画像とテキストを入れて、横3列に均等に並べたいです。
テキストが入っている.boxに背景色をつけたいです。
レスポンシブにも対応させたいです。

発生している問題

テキストの文字数がバラバラの為、高さが揃わなく、.boxに背景色をつけてもガタガタになってしまいます。
レスポンシブに対応させたい為、liの中に画像とテキストを入れてます。

HTML

1<ul class="main"> 2 <li> 3 <img src="images/sample01.jpg" alt=""> 4 <div class="box"> 5 <p>texttexttexttexttexttexttexttexttexttexttext</p> 6 </div> 7 </li> 8 <li> 9 <img src="images/sample02.jpg" alt=""> 10 <div class="box"> 11 <p>texttexttexttexttexttexttexttexttexttexttext</p><p>texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</p> 12 </div> 13 </li> 14 <li> 15 <img src="images/sample03.jpg" alt=""> 16 <div class="box"> 17 <p>texttexttexttexttexttexttexttexttexttexttext</p><p>texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</p><p>texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</p> 18 </div> 19 </li> 20</ul>

CSS

1.main{ 2 display: flex; 3 justify-content: space-between; 4} 5.main li{ 6 width: calc(33.33333% - 10px); 7} 8.box{ 9 background: #f5f1c8; 10} 11 12

HTMLの記述の仕方も間違っているのかもしれないのですが、
色々試して見てもテキスト部分に高さをもたせて揃える事ができずにいます。
最終的にはレスポンシブ対応させた際にli部分を下に落としてスマホでは一列にしようとしています。
初心者の為、詳しく教えていただけると幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

.main>li の背景に色を付ければ良いだけな気がしますが。

CSS

1.main li{ 2 width: calc(33.33333% - 10px); 3 display: flex;/*ADD*/ 4 align-content: stretch;/*ADD*/ 5 flex-flow: column;/*ADD*/ 6} 7.box{ 8 background: #f5f1c8; 9 flex-grow: 1;/*ADD*/ 10 word-break: break-all; 11} 12```**動くサンプル:**[https://jsfiddle.net/k4ym8e5f/](https://jsfiddle.net/k4ym8e5f/) 13 14--- 15 16【これからのCSSレイアウトはFlexboxで決まり! | Webクリエイターボックス】 17[http://www.webcreatorbox.com/tech/flexbox/](http://www.webcreatorbox.com/tech/flexbox/) 18 19【CSS3 Flexbox の各プロパティの使い方をヴィジュアルで詳しく解説 | コリス】 20[http://coliss.com/articles/build-websites/operation/css/css3-flexbox-properties-by-scotch.html](http://coliss.com/articles/build-websites/operation/css/css3-flexbox-properties-by-scotch.html) 21 22【CSS3のFlexboxを基本から理解して、使い倒そう! | 株式会社LIG】 23[http://liginc.co.jp/web/html-css/css/21024](http://liginc.co.jp/web/html-css/css/21024)

投稿2018/06/28 13:55

kei344

総合スコア69364

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

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

退会済みユーザー

退会済みユーザー

2018/06/28 14:14

早速詳しくコメントいただきありがとうございます! 足していただいた記述知らなかったので、勉強になりました。 最初liに背景つけていたのですが、画像の余白部分まで色がついてしまい混乱してました、、、、 ちなみに、縦長の画像だったので、画像の横幅が伸びてしまったのですが、元の比率を保つ為には どうしたら良いのでしょうか?
kei344

2018/06/28 14:44

動くサンプルで提示したものでは「元の比率を保つ」になっていますが、提示されていない他のCSSが原因では?
退会済みユーザー

退会済みユーザー

2018/06/28 16:50

度々ご回答ありがとうございます。 もう一度見直して見ます! とても助かりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問