【发布时间】:2012-10-30 07:08:54
【问题描述】:
我在这里广泛搜索了这个问题的答案,但还没有完全找到我正在寻找的东西。找到了这个CSS - How to Style a Selected Radio Buttons Label?,但答案涉及更改标记,这是我想避免的事情,我将在下面解释。
我正在尝试将自定义 css3 复选框和单选按钮添加到我的 XenForo 论坛主题中,并且我在此阅读的所有教程在输入后都有标签:
<input type="checkbox" id="c1" name="cc" />
<label for="c1">Check Box 1</label>
但在 XenForo 的标记中,输入位于标签内:
<label for="ctrl_enable_rte">
<input type="checkbox" name="enable_rte" value="1" id="ctrl_enable_rte" {xen:checked "{$visitor.enable_rte}"} />
{xen:phrase use_rich_text_editor_to_create_and_edit_messages}
</label>
我调查了为什么会这样,但是当标记是这种方式时,没有找到与自定义 CSS 复选框/单选按钮相关的任何内容。我想避免更改标记,因为我在这里处理的是一个论坛系统,这将涉及编辑一堆核心模板......然后我必须在每次论坛软件时更新标记发布更新(假设模板已更改)。
我尝试创建适用于此类标记的 CSS 规则,但到目前为止我还没有成功。我对 CSS 不太熟悉,没有记住每个选择器,而且伪类对我来说仍然很陌生,所以我希望这里有人能说明这是否可行,如果可以,我是如何做到的可能会去做。我的精灵已经准备好了,我只需要弄清楚 CSS。
我的主要问题是我不知道如何选择标签(当然只有与这些输入相关的标签)。通常类似
input[type="checkbox"] + label
已使用,但是当标签不在输入之后而是在输入之外/之前...我该如何选择它?
【问题讨论】:
-
不是为选中的输入选择标签(我相信在这种情况下不能用 CSS 完成,因为“父”选择器不存在),可能有 CSS 的解决方法。你具体想做什么?
-
@WesleyMurch 我正在尝试通过添加一个精灵图像来自定义所有复选框/单选按钮,该精灵图像具有为每个不同状态(选中、悬停、焦点、活动、禁用)定义的背景位置。我不确定我可以选择什么来实现这一点,所有关于自定义 css3 复选框等的教程在输入之后都有标签,CSS 专门反映了这一点。抱歉,如果我没有准确或足够详细地回答您的问题。
-
您的回复很明确,但您的限制并不完全。因此,除了将输入保留在标签内的要求之外,您是否能够编辑 HTML?例如,您可以在每个复选框后添加一个空的
<span>,还是将相邻的内容合并为一个?如果没有,恐怕你会被 javascript 卡住(这并不是一件坏事)。
标签: css input checkbox radio-button label