【发布时间】:2015-05-27 00:10:25
【问题描述】:
以下代码用于创建标签:
<ul class="tabs">
<li>
<input type="radio" name="tabs" id="tab1" checked />
<label for="tab1">Campaigns</label>
<div id="tab-content1" class="tab-content">
...Tab Contents....
标签显示和突出显示所选标签应该通过以下 CSS 工作:
.tabs [id^="tab"]:checked + label {
top: 0;
padding-top: 17px;
background: fff;
}
.tabs [id^="tab"]:checked ~ [id^="tab-content"] {
display: block;
}
但是,虽然选项卡选择和显示(第二个 CSS 声明)完美运行,但标签背景更改(第一个 CSS 声明)被完全忽略了。
为什么组合器在选项卡选择中像梦一样工作,但对于标签格式却没有?请帮忙
编辑:完整的CSS代码如下:
.tabs {float: none;list-style: none;position: relative;margin-top: 20px;text-align: left;width: 100%;height: 274px;}
.tabs li {float: left;display: block}
.tabs input[type="radio"] {position: absolute;top: -9999px;left: -9999px}
.tabs label {display: block;padding: 14px 21px;border-radius: 10px 10px 0 0;font-size: 20px;font-weight: normal;background:#ccc;border:1px #fff solid;cursor: pointer;position: relative;top: 4px}
.tabs label:hover {background: #eee;border:1px #ccc solid;-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}
.tabs .tab-content{z-index: 2;display: none;overflow: hidden;width: 100%;font-size: 17px;line-height: 25px;padding: 25px;position: absolute;top: 53px;left: 0;background: #fff;border-top:1px #ccc solid}
//The Magic
.tabs [id^="tab"]:checked + label {
top: 0;
padding-top: 17px;
background: fff;
}
.tabs [id^="tab"]:checked ~ [id^="tab-content"] {
display: block;
}
【问题讨论】:
-
我敢打赌,可能有更多的 CSS 会干扰标签,但没有更多的 CSS 也无济于事
-
错字 -
background: fff;应该是background: #fff;缺少哈希。 -
我已经用完整的 CSS 更新了这篇文章。确实,它确实可以自己工作,但是对于其余的格式,有些东西破坏了它,我不知道是什么(不是#fff)
-
将
//The Magic更改为 CSS cmets/*The Magic*/并将background: fff更改为background: #fff。这只是一个错字和错误的评论类型!
标签: html css combinators