If I apply the gradient to 'background' instead of 'background-image' the gradient tiles vertically based on the 'height' of the HTML element. This repeats cross browser. This is too weird and I am going to just use an image of a gradient for a background for now.
Still don't know why the html element often has a lower value for 'height' than the body element does. It occurs in more situations than just the jquery one. If a sub-container element of the body has more content than min-height specifies, it is added to the body element 'height' but not the html element 'height'.
I'm just going to push forward from here but still would appreciate any comment.
PS. All this with latest version for firefox and safari.