【发布时间】:2016-09-20 09:10:39
【问题描述】:
我正在尝试根据当前选中的单选按钮显示/隐藏超链接。这一直有效,直到我将单选按钮包装在 <ul><li> 元素中。
CSS
.site {
opacity: 0;
height: 0px;
-moz-transition: opacity .5s ease-in-out, height .5s ease-in-out,background .5s ease-in-out;
-webkit-transition: opacity .5s ease-in-out, height .5s ease-in-out,background .5s ease-in-out;
transition: opacity .5s ease-in-out, height .5s ease-in-out,background .5s ease-in-out;
}
input[id=rbSites]:checked ~.site {
opacity: 1;
height: 15px;
}
HTML
<input type="radio" id="rbSites" name="types">
<label for="supportCase">Sites</label>
<input type="radio" id="rbOther" name="types">
<label for="other">Other</label>
<div class="cell site">Link to</div>
<a class="site">SiteX</a>
<a class="site">SiteY</a>
<a class="moblie">AppX</a>
一旦单选按钮被包裹在 <ul><li> 元素中,上述内容就会停止工作,如下所示:
<ul>
<li>
<input type="radio" id="rbSites" name="types">
<label for="supportCase">Sites</label>
<input type="radio" id="rbOther" name="types">
<label for="other">Other</label>
</li>
<ul>
参见jsFiddle without <ul><li> 和with <ul><li>。
【问题讨论】: