我在 chrome 上设计了一个带有选项的表单,它在 firefox、webkit nightly builds 和 IE10 以及内置的 coda 浏览器上也能正常工作。我在 Safari 中发现了一个奇怪的错误。通过加载预先检查的选项,它看起来像这样: 在更改选项之前查看所有 webkit 浏览器和 safari
选择“专业”选项后,奇怪的是,它只改变了标签背景颜色和文本颜色的一半,这只发生在 safari 中: 选择另一个选项后的 Safari
在不隐藏 input="option" 字段的情况下,它可以很好地呈现。
但是,我不想显示选项输入本身,而只显示标签。
我尝试了一切,从显示:无,将其绝对定位到开箱即用,到可见性:隐藏,到像 Option-width 和 height 到 0px 等的黑客攻击,等等。
有没有人碰巧遇到这个并找到了解决方案或解决方法?
当前的 HTML 代码如下所示:
<div id="modules">
<fieldset class="pd3m gr group_modul">
<div class="g3 option">
<input id="Customer_modul_basic" value="basic" checked="checked" type="radio" name="Customer[modul]" />
<label for="Customer_modul_basic">Basic</label><div class="sub">
当前的 CSS:
.option label {
border-bottom: 1px solid grey;
display: block;
padding: 7px 15px 4px;
font-size: 20px;
line-height: 32px;
}
.option input[type="radio"] {
display: none;
}
.option input[type="radio"]:checked + label {
background: #b8c102;
-webkit-box-shadow: 0px 4px 0px 0px #888f01;
-moz-box-shadow: 0px 4px 0px 0px #888f01;
box-shadow: 0px 4px 0px 0px #888f01;
border-bottom: 1px solid #888f01;
color: white;
text-shadow: 0px 4px 0px #888f01;
编辑,针对这种情况解决:我能够避免这个错误。对于这个特定的用例,Safari 似乎在“过渡:全部”方面存在问题。在指定应在过渡中包含哪些属性并删除“全部”后使其正常工作。我想这在大多数情况下应该有效,必须有一个属性在这种情况下会导致转换问题,我不能说。
如果有人遇到同样的问题,请准确说明您在过渡中想要什么。