teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

おまけ追加

2018/08/02 06:26

投稿

miyabi-sun
miyabi-sun

スコア21461

answer CHANGED
@@ -4,4 +4,35 @@
4
4
  当然前景は背景より前にくるので、
5
5
  背景色を黒から透明にしても期待した効果は得られないよね。
6
6
 
7
- CSSの[opacity](http://www.htmq.com/css3/opacity.shtml)を変更するように変えてみたら解決するんじゃない?
7
+ CSSの[opacity](http://www.htmq.com/css3/opacity.shtml)を変更するように変えてみたら解決するんじゃない?
8
+
9
+ ---
10
+
11
+ 【おまけ】 背景を無理やり前に持ってくるネタ
12
+
13
+ CSSには`:before`や`:after`という疑似要素があって、
14
+ それを強引に手前に展開させてやれば本文の前景より手前に背景持ってこれるよねというネタ。
15
+
16
+ 例えば下のように書けば実現出来ると思うけど、CSSが汚れた感はあるから気をつけて使ってね。
17
+
18
+ ```CSS
19
+ #a {
20
+ position: relative;
21
+ width: 100px;
22
+ height: 100px;
23
+ }
24
+ #a:before {
25
+ content: "";
26
+ display: block;
27
+ position: absolute;
28
+ top: 0;
29
+ right: 0;
30
+ bottom: 0;
31
+ left: 0;
32
+ background-color: rgba(0, 0, 0, 0.9);
33
+ transition: all 3s ease 3s;
34
+ }
35
+ #a.fade:before {
36
+ background-color: rgba(0, 0, 0, 0);
37
+ }
38
+ ```