look at this forum thread: How to make folding menu? - #5 by viciousvegs
I have a post in it that says to use a control node for volume so nothing overlaps, and the top level container for inputs/input_containers to hide/show the content.
look at the forum thread link to see more info, but it goes something like this:
-control_node
-toggle button
-top_level container
—inputs/other input containers
signal to control_node from toggle button:
if toggled:
control_node = toggle_button.custom_minimum_size.y
top_level_container.hide()
else:
control_node = toggle_button.custom_minimum_size.y + top_level_container.custom_minimum_size.y
top_level_container.show()