###チェックボックスのカスタマイズについて
inputタグとlabelタグは、 id="agree" for="agree" で関連づけています。
同意するの左にチェックボックスを配置します。
inputは #agree
labelには .agree
を指定しています。
html
1<ul> 2 3 <li> 4 <input type="checkbox" name="agree" id="agree"> 5 <label class="agree" for="agree">同意する</label> 6 </li> 7 8 <li> 9 <button class="btn_agree" type="submit">送信する</button> 10 </li> 11 12</ul>
inputのチェックボックスを非表示にし、
新たにチェックボックスをチェックマークの設定をします。
css
1#agree{ 2 display: none; 3} 4 5.agree{ 6 position: relative; 7 padding-left: 30px; 8} 9 10/* チェックボックスの設定 */ 11.agree:after{ 12 content: ""; 13 position: absolute; 14 top: -5px; 15 left: -5px; 16 display: block; 17 width: 23px; 18 height: 23px; 19 border: 1px solid #ccc; 20 background-color: rgba(255,255,255,1); 21 z-index: 1; 22} 23 24/* チェックマークの指定 */ 25.agree:before{ 26 content: ""; 27 position: absolute; 28 top: -2px; 29 left: 3px; 30 display: block; 31 width: 7px; 32 height: 12px; 33 border-right: 2px solid #888; 34 border-bottom: 2px solid #888; 35 transform: rotate(45deg); 36 -webkit-transform: rotate(45deg); 37 z-index: 20; 38 opacity: 0; 39} 40 41/* 要素を表示する */ 42#agree:checked + label:before{ 43 opacity: 1; 44} 45
でチェックボックスをクリックすれば、 opachty:1; でチェックマークが表示されるはずですが、表示されません。
###試したこと1
Z-indexが邪魔しているかなと思い、
チェックマークをz-index: 20; に指定しても表示されません、
チェックボック、チェックマーク共に指定しなくても表示されません。
(チェックマークは隠れてしまうのでチェックボックスより上になるように設定が必要です)
###試したこと2
.agreeのpadding-leftかなと思い削除しましたが関係ないようです。
opacity: 0;を外すとチェックマークが出現します。。
チェックークの指定は合っているようです。
どうぞ宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/11 14:07
2020/04/11 14:21