Is there a way to do the following in pure css. If my rds-trigger-button
has the class active I want the tab
div to be visible, otherwise be hidden.
html:
<div>
<div class="rds-trigger-button"><span class="rds-carrot">▼</span> Learn More</div>
<div class="tab">
Cardigan organic four loko, Etsy art party Godard jean shorts. Chillwave next level letterpress lumbersexual wolf jean shorts, church-key ugh vegan typewriter PBR four loko. Occupy whatever chillwave, pug tote bag organic migas High Life hoodie flannel Schlitz small batch distillery DIY.
</div>
</div>
css:
.rds-trigger-button{
border: 1px blue solid;
width:100px;
padding:12px;
position:relative;
}
.rds-trigger-button.active{
border-bottom:1px white solid;
z-index:9999;
}
.rds-trigger-button.active + .tabs{
display:block !important;
}
.rds-carrot{
font-size:10px;
color:#ccc;
padding-right:8px;
}
.tab{
display:none;
position:absolute;
margin-top:-1px;
width:356px;
background-color:#fff;
min-height:50px;
padding:24px;
border: 1px #2E51A1 solid;
}
http://jsfiddle.net/0sqoaxxs/2/
The simplified code would be:
.tab {
display: none;
}
.rds-trigger-button.active + .tab {
display: block;
}
Updated Example
In the code you posted above, you are using the selector .rds-trigger-button.active + .tabs
. Since the element's class is .tab
(singular), and not .tabs
, it wasn't being applied. In addition, you were also using the selector .rds-trigger-button.active > .tabs
in your example you posted. It wasn't working for the same reason and because .tab
isn't a direct child of .rds-trigger-button.active
.
To clarify, +
is an adjacent sibling combinator. As the name implies, it will select the immediate, adjacent sibling element.
In some instances, you may also be interested in the general sibling combinator, ~
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With