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

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

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

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

CSS

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

Q&A

解決済

1回答

565閲覧

divを使ったカバーページの実装

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

1グッド

1クリップ

投稿2020/03/14 20:50

編集2020/03/15 16:24

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
HTML CSSにて(=画像=)の様なデザインを実装したいと思うのですが、意図したモノになりません。

イメージ説明
画像がページの上下中央に配置しており、その親要素であるdivでページ全体を覆うフルページの様になる様にしたいです。

該当のソースコード

html

1<div class="container"> 2 <img src="test.png" alt=""> 3</div>

CSS

1html, body {margin: 0;} 2 3div { 4 display: inline-block; 5 width: auto; 6 height: 100vh; 7 background-color: skyblue; 8} 9 10img { 11 display: table-cell; 12 vertical-align: middle; 13}

試したこと

参考
divではコンテンツの幅・高さとなるので、inline-blockで幅・高さを指定する様にしたのですが、変わりませんでした。

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

HTML5

### 追記
これらの画像はレスポンシブにも対応する様なスタイルであり、なおかつ横長の画像を使用するので使用しなければなりません。レスポンシブ対応にしたいので単位をvh で実装してみました。

s.k👍を押しています

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

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

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

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

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

m.ts10806

2020/03/14 22:30

CSSもご提示ください。 またdivは1つしか使ってはいけない”課題”なのでしょうか。
退会済みユーザー

退会済みユーザー

2020/03/15 03:48

CSSは本質問を修正し追加しておきます。 本件は課題ではありませんので、1つでなくてもましてやdivを使わなくても大丈夫です。ただ、この実装を行うにあたり、自分で簡単により直感的なスタイリングがしやすいようdivを1つにして表現してみました。
kei344

2020/03/19 12:54

まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
退会済みユーザー

退会済みユーザー

2020/03/19 12:58

スマホからBA選択を行ったのですが、できていませんでしたね。 失礼しました
guest

回答1

0

ベストアンサー

IE11ではうまくいかない可能性がありますが、

CSS

1.container { 2 height: 100vh; 3 4 display: flex; 5 align-items: center; 6 justify-content: center; 7}

こんな感じでいけるのでは、と思います。
ただ、個人的には、display: flex;の子要素が<img>になるのが気持ち悪いので、
HTMLのほうも、

HTML

1<div class="container"> 2 <figure><img src="test.png" alt=""></figure> 3</div>

て感じで、ひとつ要素を追加すると良いかな、と思います。

<figure>である必要はないです。

この回答の他にも様々な解決策が考えられます。
CSS 上下 中央揃え フルスクリーン
あたりで検索すると、いろいろ出てくると思います。

2020/03/16 追記
画像をレスポンシブにしたいとの事だったので、下記を追記

CSS

1img { 2 max-width: 100%; 3 height: auto; 4}

codepen 参考

投稿2020/03/15 02:06

編集2020/03/15 23:30
marlboro_tata

総合スコア525

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

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

退会済みユーザー

退会済みユーザー

2020/03/15 06:11

ご回答ありがとうございます。 当方で確認したのですが、要件通りの実装にはなりませんでした。
退会済みユーザー

退会済みユーザー

2020/03/15 16:22

提示してもらったURLの様なのですが、横長の画像であるのとレスポンスに対応したいのです。。 要件定義が上手くできておらず、申し訳ありません。質問を修正しておきます。
marlboro_tata

2020/03/15 23:31

画像のレスポンシブについては、回答に追記をしました。
退会済みユーザー

退会済みユーザー

2020/03/19 08:48

追記ありがとうございます。当方で検証したところ意図した形で動作しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問