Html 伪元素在Firefox中不起作用

Html 伪元素在Firefox中不起作用,html,css,firefox,Html,Css,Firefox,伪元素:after,:before在Firefox中不起作用,但在Chrome中可以完美地工作 谁能解释一下如何修复它以及为什么会发生这种情况: HTML: 看看这个相关的问题,我认为Chrome可能在做一些不该做的事情。Firefox似乎可以通过不输出伪元素来正常工作。:after和:before在表单元素(输入)和图像元素上不受支持。 <input type="checkbox" class="checkbox" checked> .checkbox { posit

伪元素:after,:before在Firefox中不起作用,但在Chrome中可以完美地工作

谁能解释一下如何修复它以及为什么会发生这种情况:



HTML:


看看这个相关的问题,我认为Chrome可能在做一些不该做的事情。Firefox似乎可以通过不输出伪元素来正常工作。
:after
:before
在表单元素(输入)和图像元素上不受支持。
 <input type="checkbox" class="checkbox" checked>
 .checkbox {
  position: relative;
  top: -0.375rem;
  margin: 0 1rem 0 0;
  left: 5px;
  cursor: pointer;
  display: inline-block;
  height: 9px;
  z-index: 0;
}

.checkbox::before {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  content: "";
  position: absolute;
  left: 0;
  z-index: 2;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #CCCCCC;
}

.checkbox:checked::before {
    border: 3px solid #CCCCCC;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  height: 0.9rem;

  border-color: #8ECA24;
  border-top-style: none;
  border-right-style: none;
}

.checkbox::after {
  content: "";
  position: absolute;
  top: -0.125rem;
  left: 0;
  width: 1.1rem;
  height: 1.1rem;
  background: #fff;
  cursor: pointer;
}