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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

HTML

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

CSS

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

Q&A

解決済

1回答

1297閲覧

flexboxの余白の消し方

yoppe_sun

総合スコア16

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/03/22 09:28

編集2019/03/22 09:36

こんばんは!
先輩方に下記の件についてご教授いただきたく質問を投稿いたします。

前提・実現したいこと

画像が6枚あり、上に4つ・下に2つ並べると案内図になる予定です。
(それぞれにカーソルをのせるとその場所の写真が同じページ内の別枠に表示される、というものです。

1_221×137 2_111×137 3_91×137 4_157×137
5_332×62 6_248×62

これを上記のような順で並べた上で余白なくページの真ん中に表示したいです。

発生している問題・エラーメッセージ

MTで使用していたHTMLを
WPにそのまま貼り付けたところ、
レイアウトがめちゃめちゃになりました...。

試したこと

元々のサイトのHTMLでtableタグが使用されていたので、
今後の管理がしやすい(らしい)flexboxに書き換えることに。
そこで

元のHTML

<table width="580" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="1の画像" width="221" height="137" onMouseOver="pic.src='1の画像の場所の写真'" /></td> <td><img src="2の画像" width="111" height="137" onMouseOver="pic.src='2の画像の場所の写真'" /></td> <td><img src="3の画像" width="91" height="137" onMouseOver="pic.src='3の画像の場所の写真'" /></td> <td><img src="4の画像" width="157" height="137" onMouseOver="pic.src='4の画像の場所の写真'" /></td> </tr> <tr> <td colspan="4"><img src="5の画像" width="332" height="62" onMouseOver="pic.src='5の画像の場所の写真'" /> <img src="6の画像" width="248" height="62" onMouseOver="pic.src='6の画像の場所の写真'" /></td> </tr> </table>

【HTML】 <div class="flexbox"> <ul> <li><img src="1の画像" width="221" height="137" onMouseOver="pic.src='1の画像の場所の写真'" /></li> <li><img src="2の画像" width="111" height="137" onMouseOver="pic.src='2の画像の場所の写真'" /></li> <li><img src="3の画像" width="111" height="137" onMouseOver="pic.src='3の画像の場所の写真'" /></li> <li><img src="4の画像" width="111" height="137" onMouseOver="pic.src='4の画像の場所の写真'" /></li> </ul></div> <div class="container"> <li><img src="5の画像" width="111" height="137" onMouseOver="pic.src='5の画像の場所の写真'" /></li> <li><img src="6の画像" width="111" height="137" onMouseOver="pic.src='6の画像の場所の写真'" /></li> </ul></div> 【CSS】 .flexbox{ display: flex; align: center; } .flexbox ul { display: -webkit-flex; display: flex; list-style: none; } .flexbox li { margin: 10px; padding: 20px; border-radius: 5px; line-hight: 1; } .flexbox li p { margin: 0; padding: 0; }

に書き換えた所、なんとか見られる状態にはなりましたが
・画像同士に余白がありまだ見づらい
・スマホでみた際にはぐちゃぐちゃ
となっていたため、以下のように書き直してみました。

【HTML】 <div class="container"> <div class="item"><img src="1の画像" onMouseOver="pic.src='1の画像の場所の写真'" /></div> <div class="item"><img src="2の画像" onMouseOver="pic.src='2の画像の場所の写真'" /></div> <div class="item"><img src="3の画像" onMouseOver="pic.src='3の画像の場所の写真'" /></div> <div class="item"><img src="4の画像" onMouseOver="pic.src='4の画像の場所の写真'" /></div> </div> <div class="container"> <div class="item"><img src="5の画像" onMouseOver="pic.src='5の画像の場所の写真'" /></div <div class="item"><img src="6の画像" onMouseOver="pic.src='6の画像の場所の写真'" /></div> </div> 【CSS】 .container { display: flex; justify-content: center; width:580px; }

に書き換えました。

すると画像同士の余白が埋まったのですが、今度はページが全体的に左に寄ってしまい
flexboxの何が原因なのかわからず手が止まってしまい今回質問させていただきました...。
(スマホで見たら、それぞれの画像がページの横幅いっぱいに表示されてとても見づらくなっていました)

初めての質問ですので「情報が足りない」等ありましたら
その点もお教えいただければ幸いです。
よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

WordPress 5.0.4 (marble_child テーマ)使用

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

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

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

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

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

guest

回答1

0

ベストアンサー

flex-growで伸長率の指定をしてないから

かつ、画像1だけサイズが違うので伸長率を倍に

html

1<div class="item"><img src="1の画像" 2 3<div class="item col2"><img src="1の画像"

css

1.item{ 2 flex-grow:1; 3} 4.item.col2{ 5 flex-grow:2; 6}

投稿2019/03/22 10:03

KazuhiroHatano

総合スコア7804

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

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

yoppe_sun

2019/03/22 11:13 編集

ご回答ありがとうございます! なるほど、伸長率の指定ですね。 記載していただいたとおりに打ち込んだのですが、何故かうまくいかず画像1~6が縦に並び画面いっぱいに表示されるようになってしまいました。 上記のことを元に、 ```CSS .flexbox_container { display: flex; justify-content: center; flex-wrap: nowrap; flex-basis:580px; } .item{ flex-grow: 1; } .item.col2{ flex-grow: 2; } ``` と入力してみた所、だいぶきれいにまとまりました! (余白と画像同士のズレはまだ少しありますが....) ここから調整し直してみたいと思います。 ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問