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

回答編集履歴

2

コード追記

2020/08/02 08:41

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -27,4 +27,28 @@
27
27
 
28
28
  [CSS トランジションの使用 - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
29
29
 
30
- [CSS transitionを往復で非対称にかける場合の注意点 - Qiita](https://qiita.com/jkr_2255/items/2cfb87b54370e42b43e5)
30
+ [CSS transitionを往復で非対称にかける場合の注意点 - Qiita](https://qiita.com/jkr_2255/items/2cfb87b54370e42b43e5)
31
+
32
+ ---
33
+ 別案
34
+ .overlay のサイズは 100% 固定にして、z-index を切り替える。
35
+
36
+ ```css
37
+ .overlay {
38
+ content: "";
39
+ display: block;
40
+ width: 100%; /* 修正 */
41
+ height: 100%; /* 修正 */
42
+ background-color: rgba(0, 0, 0, 0.5);
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+ z-index: -1; /* 修正 */
47
+ opacity: 0;
48
+ transition: opacity .5s;
49
+ }
50
+ .overlay.open {
51
+ opacity: 1;
52
+ z-index: 2;
53
+ }
54
+ ```

1

誤字修正

2020/08/02 08:41

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -23,7 +23,7 @@
23
23
  }
24
24
  ```
25
25
 
26
- .overlay の width と height が 0 になっているので openクラスが外れた瞬間にサイズ0になり見えなくなります。サイズ0になるのを transition-duration で遅らせます。
26
+ .overlay の width と height が 0 になっているので openクラスが外れた瞬間にサイズ0になり見えなくなります。サイズ0になるのを transition-delay で遅らせます。
27
27
 
28
28
  [CSS トランジションの使用 - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
29
29