CSS前后
CSS before and after
我正在尝试让一些 CSS 在 Firefox 中工作,但我似乎无法弄清楚为什么它不起作用。
选中时应显示星号,未选中时应显示未选中星号
我觉得这与 firefox 处理之前和之后的方式有关,但不确定该去哪里。
它适用于 chrome 任何指针都会非常有帮助。
.star {
visibility:hidden;
font-size:30px;
cursor:pointer;
}
.star:before {
content: "05";
position: absolute;
visibility:visible;
}
.star:checked:before {
content: "06";
position: absolute;
}
<input class="star" type="checkbox" title="bookmark page"><br/><br/>
<input class="star" type="checkbox" title="bookmark page" checked><br/><br/>
显然问题在于伪元素需要它们的元素有内容,而输入元素没有内容。
我不声称理解这一点,因为 Edge 和 Chrome 会做我们可能期望的事情并允许伪元素。有关于此 though some is rather out of date, the January 2020 answer from @kevinkatzke points us to the MDN documentation https://developer.mozilla.org/en-US/docs/Web/CSS/appearance 解决方法的讨论。
这是为了将 -moz-appearance: initial;
放入您的样式表中。尝试片段。它似乎可以工作,尽管文档中有警告说它不是标准的。
input[type=checkbox] {
-moz-appearance:initial;
}
.star {
visibility:hidden;
font-size:30px;
cursor:pointer;
}
.star:before {
content: "05";
position: absolute;
visibility:visible;
}
.star:checked:before {
content: "06";
position: absolute;
}
<input class="star" type="checkbox" title="bookmark page"><br/><br/>
<input class="star" type="checkbox" title="bookmark page" checked><br/><br/>
我正在尝试让一些 CSS 在 Firefox 中工作,但我似乎无法弄清楚为什么它不起作用。
选中时应显示星号,未选中时应显示未选中星号
我觉得这与 firefox 处理之前和之后的方式有关,但不确定该去哪里。
它适用于 chrome 任何指针都会非常有帮助。
.star {
visibility:hidden;
font-size:30px;
cursor:pointer;
}
.star:before {
content: "05";
position: absolute;
visibility:visible;
}
.star:checked:before {
content: "06";
position: absolute;
}
<input class="star" type="checkbox" title="bookmark page"><br/><br/>
<input class="star" type="checkbox" title="bookmark page" checked><br/><br/>
显然问题在于伪元素需要它们的元素有内容,而输入元素没有内容。
我不声称理解这一点,因为 Edge 和 Chrome 会做我们可能期望的事情并允许伪元素。有关于此
这是为了将 -moz-appearance: initial;
放入您的样式表中。尝试片段。它似乎可以工作,尽管文档中有警告说它不是标准的。
input[type=checkbox] {
-moz-appearance:initial;
}
.star {
visibility:hidden;
font-size:30px;
cursor:pointer;
}
.star:before {
content: "05";
position: absolute;
visibility:visible;
}
.star:checked:before {
content: "06";
position: absolute;
}
<input class="star" type="checkbox" title="bookmark page"><br/><br/>
<input class="star" type="checkbox" title="bookmark page" checked><br/><br/>