When the page first loads the tab contents loads without jquery styling (as a long linear list)
First lets solve that loading problem...
A simple workaround to load your tabs a little nicer is to set display: none;
on the tab's parent and then use .show()
to make them appear once everything is nice and loaded like so:
#tabs {
display:none;
}
$(function () {
$("#tabs").show().tabs();
});
Now on to the main issue... Surprisingly this can be solved easily by adding a negative top margin and some padding to the tab's content
.ui-tabs .ui-tabs-panel {
padding-top: 65px;
margin-top: -50px;
}
Basically you're pulling the panel up with the negative margin and then pushing the content in the panel back down with the padding. This brings the top of the panels to the top of the tab widget and gives the pleasant side effect of letting the tab links rest comfortably in view when navigating to the page with a tab specified.
Working Example, external links to specific tabs
Working Example showing relevant code