Сообщение от twolf
|
На сколько принципиально использование двух блоков.
|
Просто при использовании 2-х блоков появляется возможность сделать так, чтобы контент был скрыт сразу же после загрузки CSS, хотя есть и недостаток, пользователи с выключенным JavaScript не смогут увидеть такой текст, им придётся выключить ещё и CSS
Да и верстальщики обычно делают подобные вещи из двух блоков, семантика тут особо не нарушается. В случае с одним блоком, его содержимое скрывается немного позднее (обычно), в момент когда срабатывает JavaScript, потому что надо запомнить высоту. Если эти блоки довольно большие, то возникает неприятный эффект с дёрганьем страницы. Недостаток в том, что нужно будет где-то хранить высоту этих блоков и обновлять её каждый раз при изменении содержимого. В общем надо выбирать по ситуации, какой из способов наиболее подходящий. Есть ещё способ с использованием абсолютно позиционированных блоков и свойства clip, но я сам не пробовал реализовать такой эффект с его помощью.
Сообщение от twolf
|
почему высоту надо менять именно у внешнего
|
потому что у него задано свойство overlow: hidden; и для того, чтобы потом знать на какую высоту разворачивать этот блок, спросив высоту вложенного.