【问题标题】:CSS Challenge: Custom Radio SelectsCSS 挑战:自定义电台选择
【发布时间】:2011-08-12 01:57:36
【问题描述】:

我设计了一个看起来很酷的表单布局,但不知道如何让它上的收音机工作!以下是表格的模型: 我已经为文本输入创建了 CSS(并将其附在下面以供其他寻找类似内容的人使用)。我现在需要弄清楚的是“您在寻找什么服务?”部分。我已经为蓝色框编写了 CSS,但我现在需要弄清楚如何将“咨询、Web 开发和图形设计”转换为单选框,其中旁边带有复选标记的那个是选中的单选框。远远超过我的头。我仍在努力解决问题,如果我这样做了,我会在这里发帖;只是在寻找一些关于如何编写这些收音机的意见。

文本输入的当前代码:

input[type=text] {
     width: 365px;
     height: 54px;
     margin: 0 0 12px 0;
     padding: 0 0 0 25px;
     -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
     border-radius: 15px;
     background: #a2bdd8;
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #76899d), color-stop(0.075, #a2bdd8));
     color: #fff;
     font-size: 30px;
     border: none;
}
*:focus { outline: none; }

“您在寻找什么服务?”的当前背景代码:

#options {
     width: 270px;
     height: 120px;
     -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
     border-radius: 15px;
     background: #a2bdd8;
}

【问题讨论】:

标签: css forms layout radio-button


【解决方案1】:

好吧,我知道你得到了答案,但我为你构建了一个 jsFiddle 演示,因为我喜欢这些类型的挑战:

http://jsfiddle.net/Madmartigan/VkTZa/1/

使用 jQuery(想不出一个纯 css 好的解决方案)。可能比使用插件简单一点?

享受吧!

【讨论】:

  • 谢谢,很全面。并为努力+1!我得看看如何实现它:)
【解决方案2】:

jQuery 有几个单选/复选框插件。我喜欢http://webscale.cms.ezcompany.nl/scan上使用的那个

<script src="/files/jquery.checkbox.min.js"></script>
<link rel="stylesheet" href="/files/jquery.checkbox.css" />
<script>
$('input[type=radio]').checkbox({empty: '/files/empty.png'});
</script>

jquery.com 上的插件列表:http://plugins.jquery.com/plugin-tags/checkbox

【讨论】:

  • Jquery-Checkbox(在 Google 代码上)成功了!感谢您的领导:)
  • 是的,我喜欢那个。非常简单的 JS 和其他一切都可以在 CSS 中完成:所有状态、大小、边距等
【解决方案3】:

您需要创建图像并用这些图像替换您的复选框。然后在单击复选框时使用 javascript 切换它们。

编辑:
我知道,谷歌不再酷了,因为有 SO,但也许你会发现这些链接很有用:
Custom checkbox howto
Another customized checkbox script & tutorial

【讨论】:

  • 听起来像是一个计划。这就是我的想法,但我试图避免使用 Javascript。估计我别无选择。为了回答你的问题,只有几个朋友。你有什么设计建议让它看起来更好吗?
  • 不可能在纯 css afaik 中进行这样的更改。而且我的设计建议只是一种主观意见,因此可能没有帮助。但是..我肯定会从添加对比度开始(至少提交按钮),并调整字体大小。
  • 您可以在没有 JS 的情况下进行样式设置,但切换仍然是 JS。例如input[type="checkbox"] + span { ..unchecked.. } input[type="checkbox"]:checked + span { ..checked.. }(并隐藏输入)
  • @Rudie:是的。但我个人不相信那些“高级”选择器..因为很可能有浏览器(没有命名任何:d)不喜欢它们。但另一方面..我已经有一段时间没有做任何沉重的 css 样式了,所以现在它可能工作得很好,ie6 已经死了:)
  • 非常正确。我也使用 jQuery 插件。而不是高级选择器。 IE6 和 7 对我来说已经死了,而且已经有一段时间了。 IE8 甚至不支持所有 CSS2 选择器!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多