1

我在 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 似乎在“过渡:全部”方面存在问题。在指定应在过渡中包含哪些属性并删除“全部”后使其正常工作。我想这在大多数情况下应该有效,必须有一个属性在这种情况下会导致转换问题,我不能说。

如果有人遇到同样的问题,请准确说明您在过渡中想要什么。

4

0 回答 0