想让选中的单选按钮变成红色,该怎么办?这样写为何不行:input[type="radio"]:checked+label {color: red;}

zhoupc88 2016-07-24 12:19:24
一开始写成:
input[type="radio"]:checked {color: red;}

不奏效。想到 radio 和 label 其实是两个不同元素,难怪对 radio 设置样式会没反应。于是改成:
input[type="radio"]:checked+label {color: red;}

然而没想到还是没任何反应。
那么想达到这样的目的,该怎么办呢?
...全文
1938 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoupc88 2016-07-25
  • 打赏
  • 举报
回复
引用 12 楼 jslang 的回复:
引入 jQueryMobile之后更简单了
看到它自动加的ui-radio-on 类名了没有
#xxx .ui-radio-on {color: red;}

请受小弟一拜!

(试了下发现:前面的 #xxx id选择器不能省,省掉则效果还是出不来。看来就是优先级的原因了。)

谢谢!!
天际的海浪 2016-07-25
  • 打赏
  • 举报
回复
引入 jQueryMobile之后更简单了 看到它自动加的ui-radio-on 类名了没有 #xxx .ui-radio-on {color: red;}
zhoupc88 2016-07-24
  • 打赏
  • 举报
回复
引用 10 楼 jslang 的回复:
input 和 label 的顺序被颠倒,你那个 +号选择器就不对了
学到太多东西了,感激不尽! 没想到还能这样玩。两个id选择器、提高样式优先级、调试方法,等等,这些我之前想都没想到过。也没有想到 jQueryMobile 库竟然对 DOM 结构都做了如此大的改变,可谓翻天覆地。 既然 label 都被移到 input 的前面去了,刚才琢磨了半天,都没有想出解决办法来(先不管优先级对不对,先得指到正确的目标才行吧)。这才感到 CSS 选择器的“局限”和掣肘:只能往下级去指定,没办法指定上级或同级元素。看来要想纯依赖 CSS 来解决这个问题暂时是没辙了。
天际的海浪 2016-07-24
  • 打赏
  • 举报
回复
input 和 label 的顺序被颠倒,你那个 +号选择器就不对了
天际的海浪 2016-07-24
  • 打赏
  • 举报
回复


看到了吧
引入 jQueryMobile 之后,它把页面上原来的html元素都修改了。
天际的海浪 2016-07-24
  • 打赏
  • 举报
回复
那用f12调试工具调试下看看最终应用的color样式是哪个
zhoupc88 2016-07-24
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:
那可能是这个css选择器的优先级不够高。 可以加两个id选择器,提高下优先级试试 <style type="text/css"> #xxx#xxx input[type="radio"]:checked+label {color: red;} </style>
连写两个#xxx是咋回事?还可以这样写的? 试了一下,写一个#xxx或两个,都还是没有奏效。 我在HTML文件的 head 中引入 jQueryMobile 库的代码如下:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
student-ai 2016-07-24
  • 打赏
  • 举报
回复
引用 4 楼 zhoupc88 的回复:
[quote=引用 2 楼 jslang 的回复:] input[type="radio"]:checked+label {color: red;}这个可以的
谢谢! 再验证一下,发现是套用了 jQueryMobile 样式的原因。删去对 jQueryMobile 库的引用,还原成 HTML 本身的元素样式,则选中变红的效果就出来了。(咦?奇怪,我在发此帖之前也怀疑到这个原因,并做过删去 jQueryMobile 库引用的试验,怎么记得当时还是没出现变红效果的?所以百思不得其解才发此帖的。现在再试又可以了?看来非得经过大神确认一下才行?) 那么现在的问题便是:如果在套用了 jQueryMobile 样式的情况下(我还是挺喜欢其样式风格的,HTML原生的裸样式太过简陋了些,而且对于移动端平台更不合适),要想实现选中的按钮变红色的效果,又该怎么办呢?[/quote] 可能是样式冲突了,可以使用id选择器,或者使用js进行控制。
天际的海浪 2016-07-24
  • 打赏
  • 举报
回复
那可能是这个css选择器的优先级不够高。 可以加两个id选择器,提高下优先级试试 <style type="text/css"> #xxx#xxx input[type="radio"]:checked+label {color: red;} </style> <div id="xxx"> <input type="radio" name="test" id="id1" checked="checked" /><label for="id1">111111111</label><br /> <input type="radio" name="test" id="id2" /><label for="id2">222222222</label><br /> <input type="radio" name="test" id="id3" /><label for="id3">333333333</label><br /> </div>
zhoupc88 2016-07-24
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
input[type="radio"]:checked+label {color: red;}这个可以的
谢谢! 再验证一下,发现是套用了 jQueryMobile 样式的原因。删去对 jQueryMobile 库的引用,还原成 HTML 本身的元素样式,则选中变红的效果就出来了。(咦?奇怪,我在发此帖之前也怀疑到这个原因,并做过删去 jQueryMobile 库引用的试验,怎么记得当时还是没出现变红效果的?所以百思不得其解才发此帖的。现在再试又可以了?看来非得经过大神确认一下才行?) 那么现在的问题便是:如果在套用了 jQueryMobile 样式的情况下(我还是挺喜欢其样式风格的,HTML原生的裸样式太过简陋了些,而且对于移动端平台更不合适),要想实现选中的按钮变红色的效果,又该怎么办呢?
zhoupc88 2016-07-24
  • 打赏
  • 举报
回复
引用 1 楼 qq_34285369 的回复:
应该有一个触发事件,当单选框被选中之后改变其样式
不用 JavaScript 的,请参见 CSS 的状态伪类选择器。
天际的海浪 2016-07-24
  • 打赏
  • 举报
回复
input[type="radio"]:checked+label {color: red;}这个可以的

<style type="text/css">
input[type="radio"]:checked+label {color: red;}
</style>
<input type="radio" name="test" id="id1" checked="checked" /><label for="id1">111111111</label><br />
<input type="radio" name="test" id="id2" /><label for="id2">222222222</label><br />
<input type="radio" name="test" id="id3" /><label for="id3">333333333</label><br />
qq_34285369 2016-07-24
  • 打赏
  • 举报
回复
应该有一个触发事件,当单选框被选中之后改变其样式
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

61,120

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧