JavaScriptやJQueryを使用せずにフォームをデザインしようとしています。一連のチェックボックスが含まれています。チェックボックスがオフの場合、チェックボックスの後に特定のgifを表示するという考え方です。それ以外の場合は、その後に何も表示しません。これは私が持っているコードです:
input[type=checkbox]::after
{
content: url(images/unchecked_after.gif);
position:relative;
left:15px;
z-index:100;
}
input[type=checkbox]:checked::after
{
content:"";
}
Chromeで動作しますが、FirefoxまたはIEでは動作していないようです。何が問題になっていますか?
私のために働いたクロスブラウザソリューションは、チェックボックス入力の後に空のラベル(クラス「checkbox_label」)を含めてから、チェックボックスではなくITのスタイルを設定することでした。
input[type=checkbox] + label:after
{
content: url(images/unchecked_after.gif);
position:relative;
left:0px;
top:1px;
z-index:100;
}
input[type=checkbox]:checked + label:after
{
content:"";
}
.checkbox_label
{
height:0px;
width:0px;
display:inline-block;
float:left;
position:relative;
left:20px;
z-index:100;
}
どうやら、::before
および::after
疑似要素の使用は仕様でサポートされていません。あなたの質問は答えられます ここ 。お役に立てば幸いです。