CSS - Panel Expander
No JS Needed
HTML
<div class="content">
<div class="expander">
<div class="expand-header">
Filter/tag name here
</div>
<div class="orignal-content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent porta lectus nec massa euismod vehicula. Sed sodales accumsan erat, ut pharetra libero molestie vitae.
</div>
<input id="uniq1" class="expand-control" type="checkbox" />
<label class="expand-label" for="uniq1"></label>
<div class="expand-panel">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent porta lectus nec massa euismod vehicula. Sed sodales accumsan erat, ut pharetra libero molestie vitae.
</div>
</div>
</div>
CSS
/* Structural CSS */
.expander .expand-panel {
display: none;
margin-top: 10px;
padding: 4px;
}
.expander .expand-header {
height: 23px;
}
.expander {
border:1px solid gray;
padding: 4px;
padding-bottom: 25px;
}
.expander .expand-control,
.expander .expand-label {
float: left;
}
.expander .expand-control:checked ~ .expand-panel {
display: block;
}
.expander .expand-control:checked#uniq1 {
display: none;
}
/* styling */
.content {
width: 300px;
margin: 0px auto;
}
.expander {
margin-bottom: 20px;
position: relative;
}
.expander .expand-label {
cursor: pointer;
}
.expander .expand-control {
display: none;
}
.expander input[type='checkbox'].expand-control + label:before {
content: "+";
font-size: 24px;
line-height: 20px;
display: block;
width: 20px;
height: 20px;
background-color: #C0C0FF;
border: 1px solid red;
text-align: center;
cursor: pointer;
margin-left: 5px;
}
.expander input[type='checkbox'].expand-control:checked + label:before {
content: "-";
position: absolute;
bottom: 0px;
margin-left: 5px;
margin-bottom
}