Collapsible content in Drupal 7

Drupal 7 Makes it pretty easy to Have toggle-able / collapsible content by treating it as a fieldset.

<?php
// Need this for it to have the right JS.
drupal_add_js('misc/collapse.js');
$collapsible_item = array('element' => array());
$collapsible_item['element']['#title'] = "This is the text / html you will on to open and close content.";
$collapsible_item['element']['#description'] = "This is the html you want be collapsible";
$collapsible_item['element']['#attributes']['class'][] = 'collapsible';
// Leave this next line off if you want it un-collapsed by default.
$collapsible_item['element']['#attributes']['class'][] = 'collapsed';
$html_of_the_entire_collapsible_item theme('fieldset', $collapsible_item);
?>

Reference:
theme_fieldset()
https://api.drupal.org/api/drupal/includes%21form.inc/function/theme_fie...
c-Tools based method
http://timonweb.com/painless-collapsible-divs-drupal