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

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

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

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

CSS

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

Q&A

1回答

752閲覧

画面を右にスクロールすると、メインビジュアルの黒フィルタが見切れる

kato00

総合スコア71

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/06/03 07:07

いつもお世話になっております。

この度、メインビジュアルを少し暗く表示させるため、beforeでメインビジュアルの上に黒色のフィルターを設置しています。
通常は正常に表示されるのですが、
画面の横幅を980pxに設定しており、それよりも幅が狭くなったら左右スクロールが出るようにしてあります。

そうすると、スクロールを右に移動させ、スクロールで隠れている部分を表示させてみると
黒色のフィルターが外れています。

これはどういった理由でしょうか?
スクロールで隠れている部分にも黒フィルターを適用させたいのですが、、

css

1.Main-visual { 2 background-image: url("../image/main_image.jpg"); 3 background-size:cover; 4 background-repeat: no-repeat; 5 width: 100%; 6 height: 540px; 7 background-position: left ; 8 clear: both; 9} 10 11 12.Main-visual::before{ 13 /* 透過した黒を上から重ねるイメージ */ 14 background-color: rgba(0,0,0,0.4); 15 /* 自由に位置指定 */ 16 position: absolute; 17 top: 100px; 18 right: 0; 19 left: 0; 20 bottom: 187px; 21 content: ' '; 22 clear: both; 23 width: 100%; 24 height: 540px; 25} 26

↓右にスクロールすると、黒フィルターが外れてる。
イメージ説明

その他必要情報あれば追記致します。

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

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

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

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

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

guest

回答1

0

以下をお試しください。

css

1.Main-visual { 2 background-image: url("../image/main_image.jpg"); 3 background-size: cover; 4 background-repeat: no-repeat; 5 width: 100%; 6 height: 540px; 7 background-position: left; 8 clear: both; 9 position: relative; /* 追加 */ 10}

以下追記
どういった理由かも知りたいようなので。
親要素(この場合.Main-visual)のpositionの初期値はstaticです。
http://www.htmq.com/style/position.shtmlの説明を借りると

親ボックスにpositionプロパティのstatic以外の値が指定されている場合には、親ボックスの左上が基準位置となります。親ボックスにpositionプロパティのstatic以外の値が指定されていない場合には、ウィンドウ全体の左上が基準位置となります。

ということなので、この場合.Main-visual::beforeの基準はウィンドウ全体ということになると思います。


以下さらに追記
基準をウィンドウ全体から.Main-visualにしたことで、上下の位置の指定も変更しなくてはならないかもしれません。
.Main-visual全体に色を重ねたいのであればtop:0;,bottom:0;とか。
ヘッダー部分用に重ね色の開始位置を下げている可能性があるので念のため補足しておきます。

投稿2020/06/03 07:26

編集2020/06/03 07:45
dit.

総合スコア3235

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問