Раскрывающиеся блоки с скрытым содержанием с помощью CSS3

Простейший способ создания на страницах сайта и в отдельных сообщениях, скрытых блоков с содержанием, раскрывающихся при нажатии на определенный элемент текста, используя исключительно свойства CSS3.

by Andrey Dobrovoi

HTML

<div class="demo">
    <input type="checkbox" id="hd-1" class="hide"/>
    <label for="hd-1" >Читать далее &raquo;</label>
    <div>
        HTML — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме..
    </div>
</div>

CSS

/* скрываем чекбоксы и блоки с содержанием */
.hide {
    display: none; 
}
.hide + label ~ div{
    display: none;
}
/* оформляем текст label */
.hide + label {
    border-bottom: 1px dotted green;
    padding: 0;
    color: green;
    cursor: pointer;
    display: inline-block; 
}
/* вид текста label при активном переключателе */
.hide:checked + label {
    color: red;
    border-bottom: 0;
}
/* когда чекбокс активен показываем блоки с содержанием  */
.hide:checked + label + div {
    display: block; 
    padding: 10px 0; 
}

/* demo контейнер */
.demo {
    margin: 5% 10%;
}