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

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

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

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

HTML

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

CSS

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

Q&A

解決済

2回答

10629閲覧

横並びの画像の下に文字を入れたいです。

akkyyy

総合スコア8

HTML5

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/05/11 04:01

前提・実現したいこと

HTML5で画像を横に並べてその下に文字を書こうと思ったのですが、
文字が画像の真下に行きません。
画像の横並びは、段落を変えずに繋げて、全ての画像に"style="float:left; margin: 5px;"として余白をつけています。
横並びの仕方自体を変えたほうが良いでしょうか?
このような感じにしたいです。下手糞ですいません。
イメージ説明
コード↓

<img src="GAZOU.png" width=610 alt="画像の読み込みに失敗しました" style="float:left; margin: 5px;">文字<img......(繰り返し)

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

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

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

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

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

m.ts10806

2018/05/11 04:17

画像と文字1グループでブロックにする(例えばdivなので囲む)という追加対応は問題ないでしょうか。それともあくまで今の状況だけで対応したいのでしょうか。
akkyyy

2018/05/11 05:05

情報不足でした。すいません。仰る通り画像と文字でブロック(?)にしたいです。関係あるのか分かりませんが文字はaタグで他のページに飛べるようにしようと思っています。
guest

回答2

0

CSSで横並ぶさせるには。

【よこ並びのCSS。】
http://lopan.jp/layout/

【段組みのCSS。】
https://lopan.jp/layout2/


「HTML5で」とあるので、picture要素をとりあえず使ってみた。(画像の分岐をもっと意味あるものにしたら良かった)

CSS

1.pict { 2 max-width: 800px; 3 display: grid; 4 grid-template-columns: repeat(5, 1fr); 5 grid-row-gap: .5em; 6 grid-column-gap: .5em; 7} 8.pict > figure { 9 margin: 0; 10} 11.pict > figure picture, 12.pict > figure img { 13 display: block; 14} 15.pict > figure img { 16 width: 100%; 17} 18.pict > figure figcaption { 19 font-size: .8em; 20 text-align: center; 21} 22.pict > figure a { 23 text-decoration: none; 24} 25@media (max-width: 480px) { 26 .pict { 27 grid-template-columns: 1fr; 28 } 29}

HTML

1<div class="pict"> 2 <figure> 3 <picture> 4 <source media="(orientation: landscape)" 5 sizes="(max-width: 480px) 100%, 6 (max-width: 800px) 160px, 7 800px" 8 srcset="https://placehold.jp/24/99cc99/339933/320x160.png?text=yoko_320w_1 320w, 9 https://placehold.jp/24/9999cc/333399/800x400.png?text=yoko_800w_1 800w, 10 https://placehold.jp/24/cc9999/993333/1600x800.png?text=yoko_1600w_1 1600w"> 11 <source media="(orientation: portrait)" 12 sizes="(max-width: 480px) 100%, 13 (max-width: 800px) 160px, 14 800px" 15 srcset="https://placehold.jp/24/99cc99/339933/320x640.png?text=tate_320w_1 320w, 16 https://placehold.jp/24/9999cc/333399/800x1600.png?text=tate_800w_1 800w, 17 https://placehold.jp/24/cc9999/993333/1600x800.png?text=tate_1600w_1 1600w"> 18 <img src="https://placehold.jp/24/cc9999/993333/800x1600.png?text=none_1" alt="ALT_1"> 19 </picture> 20 <figcaption><a href="#" title="キャプション_1">キャプション_1</a></figcaption> 21 </figure> 22 <!-- 以下省略 --> 23</div> 24```**動くサンプル:**[https://jsfiddle.net/0whcwhyk/2/](https://jsfiddle.net/0whcwhyk/2/) 25**動くサンプル(表示用):**[https://jsfiddle.net/0whcwhyk/2/show/](https://jsfiddle.net/0whcwhyk/2/show/) 26 27--- 28 29【CSS Grid Layout を極める!(基礎編) - Qiita】 30[https://qiita.com/kura07/items/e633b35e33e43240d363](https://qiita.com/kura07/items/e633b35e33e43240d363) 31 32【CSS Grid Layout を極める!(場面別編) - Qiita】 33[https://qiita.com/kura07/items/486c19045aab8090d6d9](https://qiita.com/kura07/items/486c19045aab8090d6d9) 34 35【<figure> - HTML | MDN】 36[https://developer.mozilla.org/ja/docs/Web/HTML/Element/figure](https://developer.mozilla.org/ja/docs/Web/HTML/Element/figure) 37 38【<picture>: 画像要素 - HTML | MDN】 39[https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture](https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture) 40 41【レスポンシブ画像 - ウェブ開発を学ぶ | MDN】 42[https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images](https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) 43 44【メディアクエリの利用 - CSS: カスケーディングスタイルシート | MDN】 45[https://developer.mozilla.org/ja/docs/Web/CSS/Media_Queries/Using_media_queries](https://developer.mozilla.org/ja/docs/Web/CSS/Media_Queries/Using_media_queries) 46 47【なんでもかんでも<picture>要素を使えばいいわけじゃない!レスポンシブ・イメージ実装の際の注意点 | Rriver】 48[https://parashuto.com/rriver/responsive-web/picture-srcset-use-case](https://parashuto.com/rriver/responsive-web/picture-srcset-use-case) 49 50【Google Chromeブラウザでスマートフォンサイトをチェックする:Google Chrome完全ガイド - @IT】 51[http://www.atmarkit.co.jp/ait/articles/1403/20/news050.html](http://www.atmarkit.co.jp/ait/articles/1403/20/news050.html) 52 53--- 54 55書いてた回答が消えた・・・。(再構成版)

投稿2018/05/11 06:54

編集2018/05/11 06:58
kei344

総合スコア69400

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

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

0

ベストアンサー

まず最初に注意。
不要不急でインラインでCSSを書くのはやめましょう。
特に同じような指定が何個も続く場合、1つ変えるとすべて変えなければなりません。

適宜classやidなどをつけて、それらに対してstyleを指定していくと良いです。

名前の付け方はひとまず適当なので、状況にあわせて調整してください。

html

1<div id="parent"> 2 <div class="child_flame"> 3 <div class="child"> 4 <img src="~~~"> 5 <p>aaa</p> 6 </div> 7 <div class="child"> 8 <img src="~~~"> 9 <p>bbb</p> 10 </div> 11 <div class="child"> 12 <img src="~~~"> 13 <p>ccc</p> 14 </div> 15 </div> 16 <div class="child_flame"> 17 <div class="child"> 18 <img src="~~~"> 19 <p>aaa</p> 20 </div> 21 <div class="child"> 22 <img src="~~~"> 23 <p>bbb</p> 24 </div> 25 <div class="child"> 26 <img src="~~~"> 27 <p>ccc</p> 28 </div> 29 </div> 30</div>

css

1div#parent{} 2div#parent div.child_flame{clear:both;} 3div#parent div.child{ 4 float:left; 5 margin: 5px; 6} 7img {width:100px;}

画像のサイズや文字と画像の距離感、文字の揃え(このままだと左揃えになってます)が気になる場合は適宜調整してください。
レイアウトの要件によりこれでは対応しきれなくなる可能性がありますのでご注意ください。

追記:
組み方がかなーーり前の、CSS3とか関係ないレイアウトなので、
もっとシンプルに、スタイリッシュにできる可能性は非常に高いです。
並び方などもう少し具体的な要件を書いて回答を待っても良いかもしれません。

投稿2018/05/11 05:33

編集2018/05/11 05:36
m.ts10806

総合スコア80850

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

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

akkyyy

2018/05/11 07:07

何度も要求すいません。横並びの画像の下に文字を入れることは出来たのですが、他のページの画像が縦細くなってしまいました。 具体的には400x400の画像が縦に引き延ばせれてしまいました。 Bracketsで書いているのですがバグなのでしょうか?
dit.

2018/05/11 07:19

img {width:100px;}という記述ですべてのimgの横幅が100pxになっているものと思われます。 取り急ぎdiv#parent div.child img {width:100px;}とかに直すだけでも直るとは思います。widthの数値はご希望のものを。
m.ts10806

2018/05/11 07:22

あすみません。私のテストで使った画像が横1000pxとかで大きすぎたものですから小さくしていました。 dit.さんの提示どおりにされるか、いっそのこと img {width:100px;} を外してください。
akkyyy

2018/05/11 07:45

何から何までありがとうございます。widthを消したら上手く出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問