While developing AD xMenu, this script was incorporated to allow menu to pass over select boxes and similar windowed controls.
It worked so good, and was so easy to implement it for any layer, that I moved it to separate script and added few bits to ease-off integration with other scripts.
What’s it for?
Take a look at this example. Maroon layer is absolutely positioned and it goes over select box.
Did I said over?
In the old days, when there was nothing dynamic about HTML, browser makers used OS controls to draw HTML form elements. That means that they were at the “lower-level” compared to HTML browser engine and was thus untouchable for web authors. This was most obvious in revolutionary IE4. Microsoft changed this in IE5 (all form elements but drop-downs), further enhanced it in 5.5 (iframes were also moved to HTML engine); other newer browsers followed similar path.
If you are using Gecko-based or Opera 7 browser, then you don’t see a need for this script (as everything is displayed correctly for you). Same goes for Safari, as I hear. But you are a very small minority. Regular Windows users (those that we make websites for), use IE. And IE still uses OS control for one form element: select list (aka drop-down box).
So in IE, drop-down punch through the layer.
This script uses one fine trick to overcome this problem. (Danger ahead: in the following text, I will identify term browser with IE).
Continue Reading →