I removed height: auto !important on #main . Then I managed to set height: 100% to #list .
I'm not sure what height: auto needed.
http://jsfiddle.net/KBHcs/
To give more explanation, height: auto !important makes the content determine the height of the element, and the importance value has been overwritten with height: 100% . In this case, "sd" was the only one in ul , since li absolutely positioned and therefore are not part of the document flow.
 source share