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

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

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

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

Q&A

解決済

1回答

867閲覧

gridで並べた画像を上下左右中央にしたい

demon23

総合スコア1

Flex

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/04/07 11:03

前提・実現したいこと

HTML・CSS初心者です
質問の仕方もどうしたらよいのか分かっておらず不安なのですが
自分なりに調べましたが解決できずにいるので助言いただければ幸いです

9枚ある画像をタイル状に並べたくて、gridで並べたはいいのですが、どうしても上下左右中央にできません

なんとか左右中央には寄っても、上はヘッダーにくっついてしまいます
margin-topで、見た目には上下中央にできるのですが
できれば余白調節は使いたくありません

また、レスポンシブ対応にした際には、横3列は綺麗に並ぶのですが
縦の列と列の間に大きくスペースができてしまい、これも困っています

上下左右中央に画像を一塊で表示するにはどうすればよいでしょうか

作業環境
Windows10pro 64bit
使用エディター Atom
PCブラウザ chromeバージョン: 89.0.4389.114(Official Build) (64 ビット)
スマートフォン iphon8 iOS 14.4.2
ブラウザ Safari

不足事項があれば追記します

イメージ説明

該当のソースコード

<html lang="ja"> <head> <meta charset="utf-8"> <title>HASAMI</title> <meta name="description" content="創作イラストサイト"> <link href="https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap" rel="stylesheet"> <link rel="icon" type="icon/favicon.png" href="icon/favicon.png"> <meta name=”viewport” content=”width=device-width,initial-scale=1.0″> <!-- CSS --> <link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css"> <link rel="stylesheet" href="topstyle.css"> </head> <body> <header> <img class="titlelogo" src="logo/titlelogo1.png"> </header> <main> <div class="item"> <a href=""><img src="homeicon/1maru.png" onmouseover="this.src='icon/abouticon.png'" onmouseout="this.src='homeicon/1maru.png'"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/2maru.png"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/3maru.png"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/4maru.png"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/5maru.png" onmouseover="this.src='icon/hasamicon.png'" onmouseout="this.src='homeicon/5maru.png'"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/6maru.png" onmouseover="this.src='icon/galleryicon.png'" onmouseout="this.src='homeicon/6maru.png'"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/7maru.png"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/8maru.png"></a></li> </div> <div class="item"> <a href=""><img src="homeicon/9maru.png" onmouseover="this.src='icon/mailicon.png'" onmouseout="this.src='homeicon/9maru.png'"></a></li> </div> </main> <footer> 2021.03.30 </footer> </div> </body> ソースコード
html{ font-size: 100%; } body{ display: flex; flex-flow: column; min-height: 100vh; font-family: 'Sawarabi Gothic', sans-serif; line-height: 1.7; background-color: #; } img{ max-width: 100%; height: auto; } header{ text-align: center; background-color: #aaa; padding: 30px; } .titlelogo{ width: 18%; } main{ flex: 1; display: grid; align-items: center; justify-content: center; grid-template-columns: repeat(3, 200px); background-color: #bbb; } footer{ text-align: center; background-color: #d6d6d6; } @media (max-width: 600px;){ } コード

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

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

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

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

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

guest

回答1

0

ベストアンサー

htmlの変更が可能なら、

html

1 <header> 2 </header> 3 <div class="wrapper"> 4 <main> 5 6 </main> 7 </div> 8 <footer> 9 </footer> 10 </div> 11</body>

mainを囲むブロックを追加して、それにflexを設定してmainを上下左右中央寄せすればどうでしょう。

css

1.wrapper { 2 flex: 1; 3 display: flex; 4 align-items: center; 5 justify-content: center; 6 background-color: #bbb; 7} 8 9main{ 10 display: grid; 11 grid-template-columns: repeat(3, 200px); 12 }

投稿2021/04/07 11:36

hatena19

総合スコア33715

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

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

demon23

2021/04/07 11:44

こんなに早く回答がいただけるとは思っていませんでした、ありがとうございます! 無事解決できました!すごい!とても嬉しいです、感謝いたします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問