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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

1回答

436閲覧

z-index 効かない

muneyosi

総合スコア9

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/25 02:45

前提・実現したいこと

画像2のようなもの、実現したいのですが、z-indexは正しく実装されいるのに画像1のようにlightblueのカラーが上になってしまいます。
イメージ説明
イメージ説明

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

なぜかは分かりませんが、-webkit-text-fill-colorを消すとz-indexが効くことができます。
ですが、-webkit-text-fill-colorも適応したいので、両方適応させつつ実現する方法をご教示お願いたします。

該当のソースコード

実装したら、画像の様になります。
イメージ説明

.text { position: relative; z-index: 3; display: inline-block; font-size: 40px; /* グラデーションcolor */ background-image: linear-gradient(to top, #1d2088, #337cc7); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .text::after { content: ""; position: absolute; bottom: 12px; left: 0; width: 100%; height: 8px; background-color: #d3edfb; z-index: -1; }

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

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

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

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

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

guest

回答1

0

ベストアンサー

z-index では、子は親を超えて移動することはできません。マイナスを設定しても親の背面へ移動できるわけではありません。
テキストはbackground-imagebackground-clipで表示させているので親の背景ということになりますので、疑似要素は、その背面に潜り込むことはできません。

テキストを例えばspanタグで囲んで、それに対して、background-imagebackground-clipを設定するようにすれば、テキストと疑似要素は親子関係ではなく兄弟関係になりますので z-index は効くようになります。

html

1<div class="text"> 2 <span>あなたのそのお悩み</span> 3</div>

css

1.text { 2 position: relative; 3 display: inline-block; 4 font-size: 40px; 5} 6.text > span { 7 /* グラデーションcolor */ 8 background-image: linear-gradient(to top, #1d2088, #337cc7); 9 background-clip: text; 10 -webkit-background-clip: text; 11 -webkit-text-fill-color: transparent; 12} 13.text::after { 14 content: ""; 15 position: absolute; 16 bottom: 12px; 17 left: 0; 18 width: 100%; 19 height: 8px; 20 background-color: #d3edfb; 21 z-index: -1; 22}

投稿2021/01/25 03:17

編集2021/01/25 03:20
hatena19

総合スコア33715

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

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

muneyosi

2021/01/25 06:49

ご回答ありがとうございます。 解説も分かりやすく、参考になりました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問