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

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

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

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

CSS

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

Q&A

解決済

1回答

1030閲覧

画像と文章を半々で並べたい

TiffanyM

総合スコア5

HTML5

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

CSS

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

0グッド

0クリップ

投稿2021/04/17 07:58

HTMLとCSSでホームページを作成しています。
画像と文章が横並びになり、それを3つ縦に並べる配置に苦戦しています。
「決められた幅の中に、50%写真と50%の文章エリアを配置」×3
をするイメージです。
全体の幅は指定しました(下記boxクラスを1000px)

そして文章は真ん中に配置するイメージです。
marginでpx指定するのではなく、自動で縦方向の真ん中に配置したいです。
使用している画像のwidthは全体幅の6割ほどの大きさです。
heightは特に指定していないので、widthの比率に合わせたいです。

-----HTML--------

<div class="box"> <div class="about"> <div class="aboutimg"><img src="img/winery.jpg" alt=""></div> <div class="abouttext"> <h1>ワイナリー</h1> <p>素敵なワイナリーで私服のひと時を!</p> </div> </div> </div> ------CSS-------- .box{ width: 1000px; }

.about{
display: flex;
}

.aboutimg{
flex: 1;
}

.abouttext{
margin-right: 120px;
margin-left: 50px;
align-items: center;
flex: 1;
}

・「margin-left: 50px;」にて縦方向の真ん中に配置、
・「flex: 1;」を画像と文章のdivに設定することで各々50%の配置にする
つもりでしたが、効いてくれません。
(widthで画像のdivを50%にしても上手くいきませんでした。)

どう改善すればよいのでしょうか?
また、上記が良くない理由も教えていただけたら助かります。

●完成イメージ
完成イメージ

よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

img/winery.jpgの幅が600pxだと仮定すると、それに合わせて左側のdivの幅が伸びるので、半々には、なりませんね。

例えば、img要素にwidth:100%を付ければ、ひとまず半々になります。

css

1.aboutimg > img { 2 width: 100%; 3}

イメージ説明

↑このスクショでは、分かりやすいように、幅1000pxの.boxに境界線を付け、.abouttextに背景色を付けています。

しかし、このままだと、.abouttextの左右にマージンが設定されているので、恐らく理想とは違いますよね?

少しHTMLを変更しても良いなら、.abouttextの内側にdivを追加して、そのdivへマージンを設定する、という手があると思います。

html

1<div class="abouttext"> 2 <div> 3 <h1>...</h1> 4 <p>...</p> 5 </div> 6</div>

css

1.abouttext > div { 2 margin-right: 120px; /* .abouttextから移動 */ 3 margin-left: 50px; /* .abouttextから移動 */ 4}

↓こうなります。

イメージ説明

投稿2021/04/18 02:43

gpsoft

総合スコア1323

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

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

TiffanyM

2021/04/25 13:34

ご回答ありがとうございます。 なるほど!下に一つdivを追加してそこでmarginを設定するんですね! 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問