请教关于nth-child的问题

yiyamzen 2016-04-14 07:55:56
有如下代码

<style>
.formtabs .panel { display: none; }
.formtabs .panel:first-child { display: block; }
.formtabs input[name="tabs"]:checked ~ .panels .panel { display: none; }
.formtabs input[name="tabs"]:nth-of-type(1):checked ~ .panels .panel:nth-child(1),
.formtabs input[name="tabs"]:nth-of-type(2):checked ~ .panels .panel:nth-child(2),
.formtabs input[name="tabs"]:nth-of-type(3):checked ~ .panels .panel:nth-child(3) { display: block; }
</style>
<div class="formtabs">
<input id="one" name="tabs" type="radio" checked>
<input id="two" name="tabs" type="radio">
<input id="three" name="tabs" type="radio">

<div class="panels">
<form method="post" action="" class="form">
<!-- <input type="hidden" name=""> -->

<div class="panel">11</div>
<div class="panel">22</div>
<div class="panel">33</div>

</form>
</div>
</div>

我想实现的功能是,当选择第一个radio时显示第一个panel,选择第二个radio时显示第二个panel,依次类推。
上面的代码可以实现上述功能,但是如果在<form后有不确定个数的<input type="hidden"时它就不正常显示了。
如果在<form后有一个<input type="hidden",那么选择第一个radio时会显示第二个panel。
我觉得不管在from后又多少个hidden的input,“.panels .panel:nth-child(1)”这个始终指向第一个pannel的呀
问题出在哪里呢?
除了把<input type="hidden"移到所有pannel后面还有其他解决方法吗?
...全文
267 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyamzen 2016-04-14
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
:nth-of-type(1)
谢谢
slwsss 2016-04-14
  • 打赏
  • 举报
回复
:nth-of-type(1)

61,111

社区成员

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

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