textareaに書いた内容をmodal windowで表示したいと思います。
ビューボタンを押したときに、最初の入力画面の上に一つ画面(入力画面にアクセスできないように)をおいて、さらにその上にローカルストレージから読み込んだ文字を表示したいと思います。
うまくいかない部分は、いちばん上に表示される画面の文字色が透明がかかっていることです。
透明がかからないようにする方法がありますでしょうか?
真ん中の画面の設定にopacityを入れていますが、こちらが影響していると思いますが、解決策がわからないので、教えてください。
html
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Modal window</title> 8 9<!-- スタイルシート --> 10 <style> 11 .text { 12 margin: 10px; 13 } 14 textarea { 15 display: block; 16 margin: 10px 0px 10px 0; 17 } 18 #modal-container { 19 position: fixed; 20 left: 0px; 21 top: 0px; 22 z-index: 10; 23 width: 100%; 24 height: 100%; 25 opacity: 0.5; 26 visibility: hidden; 27 transition: .6s; 28 background-color: rosybrown; 29 } 30 #modal { 31 position: relative; 32 top: 250px; 33 left: 250px; 34 z-index: 100; 35 color: rgb(0, 10, 5); 36 background-color: red; 37 opacity: 1.0; 38 width: 300px; 39 height: 300px; 40 border: 3px solid #000000; 41 text-align: center; 42 } 43 </style> 44</head> 45 46<body> 47 <!-- 確認事項:ビューボタンを押したときに、テキストをModal画面で表示 --> 48 <div class="text"> 49 <textarea id="textArea">これはテストです。</textarea> 50 <button onclick ="modal()" id="view-btn">ビュー</button> 51 </div> 52 53 <div id="modal-container"> 54 <div id="modal"> 55 <!-- ビュー表示 --> 56 </div> 57 </div> 58 59 <!-- Javascript --> 60 <script> 61 62 let textArea = document.querySelector('#textArea') 63 64 let note = JSON.stringify(textArea.value); 65 localStorage.setItem('key', note); 66 67 function modal() { 68 document.querySelector('#modal').innerHTML = JSON.parse(localStorage.getItem('key')); 69 document.querySelector('#modal-container').style.visibility = 'visible' 70 } 71 72 </script> 73</body> 74</html>
回答1件
あなたの回答
tips
プレビュー