前提・説明
HTML、CSS初心者です。
要素の表示/非表示を対応したく下記㏋を参照にしてコードを記述しました。
参照--------------------------------------------------
●要素の表示・非表示を切り替える方法
https://saruwakakun.com/html-css/reference/hidden-show
参考にしたコードではlabel、inputにCSSを適用させています。
最終的に作りたいページでは非表示の部分にフォーム入力、
名前(input type="text")、電話番号(input type="tel")などを
表示させたいです。
しかし上記の通り、参考にしたコードでlabelやinputにCSSを適用させているため
非表示のフォーム入力部分も同じCSSが適用されてしまいます。
実現したいこと
下記コードに書いてある通り、非表示部分のlabel、inputのCSSを削除して
標準的なフォームの設定に戻したいです。
該当のソースコード
HTML
1<div class="hidden_box"> 2 <label for="label1">クリックして表示</label> 3 <input type="checkbox" id="label1"/> 4 <div class="hidden_show"> 5 <!--非表示 この部分のlabel、inputのCSSを除外したい--> 6 <form action="/my-handling-form-page" method="post"> 7 <div> 8 <label for="name">Name:</label> 9 <input type="text" id="name" name="user_name"> 10 </div> 11 <div> 12 <label for="mail">E-mail:</label> 13 <input type="email" id="mail" name="user_mail"> 14 </div> 15 <div> 16 <label for="msg">Message:</label> 17 <textarea id="msg" name="user_message"></textarea> 18 </div> 19 </form> 20 <!--ここまで--> 21 </div> 22</div>
CSS
1.hidden_box { 2 margin: 2em 0;/*前後の余白*/ 3 padding: 0; 4} 5 6.hidden_box label { 7 padding: 15px; 8 font-weight: bold; 9 border: solid 2px black; 10 cursor :pointer; 11} 12 13.hidden_box label:hover { 14 background: #efefef; 15} 16 17.hidden_box input { 18 display: none; 19} 20 21.hidden_box .hidden_show { 22 height: 0; 23 padding: 0; 24 overflow: hidden; 25 opacity: 0; 26 transition: 0.8s; 27} 28.hidden_box input:checked ~ .hidden_show { 29 padding: 10px 0; 30 height: auto; 31 opacity: 1; 32}
コメント
初歩的な質問になり申し訳ありません。
知識が少ないため対応方法がわからずご相談させて頂いております。
何卒、宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。