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

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

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

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

CSS

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

Q&A

解決済

1回答

2588閲覧

headerの下に背景画像を表示するようにしたい

hinaaa

総合スコア1

HTML

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

CSS

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

0グッド

0クリップ

投稿2023/03/23 05:16

編集2023/03/23 05:20

はじめまして。こんにちは。
header部分の下から背景画像を表示するようにしたいが、headerと重なる?ように背景画像が設定されていまうので解決方法を教えていただきたいです。
該当箇所のHTMLソースコードは以下の通りです。なぜかソースコードがうまく改行されないのでとても見にくい状態になっています。大変申し訳ございません

<header> <h1 class="title">Fashion City</h1> <nav><%= link_to "新規投稿へ", new_post_path %></nav> <nav><%= link_to "ログアウト", destroy_user_session_path, method: :delete %></nav> </header> <div class="posts-container"></div> <link rel="stylesheet" href="./stylesheets/application.css">

該当箇所のCSSソースコードは以下の通りです。
header{
background-color: #dd4d15;
position: fixed;
height: 80px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}

nav {
margin-right: 5%;
}

.posts-container{
background-image: url("IMG-103.jpg");
height: 100vh;
background-repeat: no-repeat;
background-size: cover;
width: 100%;
}

プログラミング初心者なので構成がおかしかったりなどあると思いますが、その点もご指摘していただけると幸いです。よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

position: fixed; を設定した要素は通常フローからは外れ、浮いた状態になるので、あとの要素は背面に潜り込みます。

対策としては、bodyにheaderの高さ分のpadding-topを付けるか、次の要素にmargin-topを付けるかします。

css

1body {padding-top: 80px;}

css

1.posts-container {margin-top: 80px;}

あるいは、position: fixed; ではなくposition: sticky; で固定するという方法もあります。

css

1header { 2 position: sticky; 3 top: 0; 4}

HTMLの構造によって適切な方法を選択してください。

投稿2023/03/23 05:46

hatena19

総合スコア33775

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

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

hinaaa

2023/03/23 10:48

回答ありがとうございます。 上記の方法で試してみたのですが、header部分と背景画像部分が離れて表示されるようになりました。headerと背景画像の間に空白ができないようにする方法はありますでしょうか。
hatena19

2023/03/23 23:42

padding-top の方法、margin-topの方法、position: sticky の方法の3つのうち、どの方法を採用したのでしょうか。 現象が再現できるコードを提示してください。 質問は修正できますので、質問に追記してください。 コードはマークダウンのコードブロック内にいれてください。下記リンク参照 https://teratail.com/help/question-tips#questionTips37
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問