4

我在两个不同的页面上有一个 jQuery 对话框。出于某种原因,单选按钮看起来不同(一个页面是纯 HTML/Javascript,另一个是由我工作的客户创建的一些内部框架创建的)。

我试图弄清楚在css中寻找什么导致单选按钮呈现的差异。

这两种情况如下所示:

错误的:

在此处输入图像描述

正确的:

在此处输入图像描述

任何人都可以提供一些关于寻找什么的线索吗?

也许我应该补充一点,两张图片都来自 IE8。

4

4 回答 4

9

单选按钮本身的样式(编辑:边框、颜色、背景)在 css 中是不可能的。但是你可以用隐藏的单选按钮和覆盖的图像来解决一些问题,就像这里描述的那样

本质上,您隐藏单选按钮并在其位置放置一个span右键,单击时会更改其样式:

html

<label><input type="radio"><span class="overlay"></span> radio button</label>

css

input[type=radio] {
  opacity: 0;
  z-index: 9999;
}
/* default radio button style: unchecked */
.overlay {
  display: inline-block;
  position: relative;
  left: -1em; /* or whatever length you need here */
  height: 1em;
  width: 1em;
  background-color: red;
}
/* changed style when checked */
input[type=radio]:checked + .overlay {
  background-color: green;
}

在这个jsFiddle中试试

于 2013-06-12T07:57:14.750 回答
1

使用 Web Developer Tool 检查这两个元素。在 IE8 中按 F12,然后单击左上角的光标图标(或按 Ctrl+B)。单击单选按钮进行检查。

建议使用 Google Chrome 的 WDT,因为它可以告诉您更多信息(例如相关的 CSS 文件),而且使用起来更方便快捷。您可以右键单击单选按钮并单击“检查元素”以查看更多信息(DOM、CSS)。

于 2013-06-12T07:57:57.523 回答
1

我找到了罪魁祸首:

<meta name="MSThemeCompatible" content="no">

该位在一页中,而不在另一页中。所以要么我必须在一个页面中删除它,要么将它添加到另一个页面以使它们看起来相似。

于 2013-06-14T11:22:37.823 回答
0

单选按钮的样式非常有限,尤其是在较旧的浏览器中。我写了一篇关于如何仅使用 CSS 自定义复选框和单选框的教程,以及通过设置标签样式并使用它:before:after伪类来创建开/关开关。它有一个 IE8 后备。也许这有帮助:) 在这里阅读:http: //blog.felixhagspiel.de/index.php/posts/custom-inputs

于 2015-01-19T11:04:54.330 回答