HTML标签无线电在桌面和仿真器上工作,但不是iOS Safari



我很难调试此问题,但基本上我有很多复选框,看起来都像以下示例:

<div class="column">
  <input id="radio-10" type="radio" class="radio-custom" value="3">
  <label for="radio-10" class="radio-custom-label"><br>
  <p>Long time employed by the same employer</p></label>
</div>

在Chrome的模拟器中,如果我单击它,它可以正常工作。在桌面上,如果我单击它,它可以正常工作(检查框)。在实际的iPhone上,您的复选框永远不会获得检查。

这里有什么突出的吗?或类似的问题。

也不确定它是否重要(因为它在桌面和仿真器上工作,但不是移动器),这些都是用vue.js的动态创建的:

<li v-for="(question, questionIndex) in questions">
                        <h2>{{ question.question }}</h2>
                        <div class="columns">
                          <div class="column" v-for="(answer, index) in question.answers">
                            <input 
                                :id=" 'radio-' + answer.id" 
                                :value='answer.points' 
                                class="radio-custom"  
                                v-model.number="chosen[ questionIndex ]" 
                                type="radio"
                            >
                            <label :for=" 'radio-'+ answer.id" class="radio-custom-label"><br><p>{{ answer.answer }}</p></label>
                          </div>
                        </div>
                        <div class="control is-grouped">
                            <p class="control">
                                <button class="button is-primary" 
                                        v-if="questionIndex != 0" 
                                        @click.prevent="back">
                                        Back
                                </button>
                            </p>
                            <p class="control">
                                <button class="button is-primary" 
                                        @click.prevent="next">
                                        Next
                                </button>
                            </p>
                        </div>
                    </li>

更新:

我删除了Acutal广播按钮上的不透明度,并且可以看到它正在工作,但CSS虽然没有添加选中标记。具体的这些行看起来像:

 `.radio-custom:checked + .radio-custom-label:before {
    content: "f00c";
    font-family: 'FontAwesome';
    color: $green;
    font-size: 25px;
}
`

完整的CSS

.checkbox-custom, .radio-custom {
    opacity: 0;
    position: absolute;   
}
.checkbox-custom, .checkbox-custom-label, .radio-custom, .radio-custom-label {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
    cursor: pointer;
}
.checkbox-custom-label, .radio-custom-label {
    position: relative;
}
.checkbox-custom + .checkbox-custom-label:before, .radio-custom + .radio-custom-label:before {
    content: '';
    background: #fff;
    border: 2px solid #ddd;
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 40px;
    padding: 2px;
    margin-right: 10px;
    text-align: center;
}
.checkbox-custom:checked + .checkbox-custom-label:before {
    content: "f00c";
    font-family: 'FontAwesome';
    background: rebeccapurple;
    color: #fff;
    font-size: 25px;
}
.radio-custom + .radio-custom-label:before {
    border-radius: 50%;
}
.radio-custom:checked + .radio-custom-label:before {
    content: "f00c";
    font-family: 'FontAwesome';
    color: $green;
    font-size: 25px;
}
.checkbox-custom:focus + .checkbox-custom-label, .radio-custom:focus + .radio-custom-label {
  outline: 1px solid #ddd; /* focus style */
}

几个小时的无用后,我发现它缺少fontawsome字体。我在当地有它们,所以这就是为什么它仅在移动设备上。