Home > Article > Web Front-end > Why Does `overflow: hidden` Not Work on a `position: relative` `ul` in IE6 and IE7?
IE6 IE7 CSS Problem: Overflow: Hidden Not Working with Position: Relative
The issue arises when using overflow: hidden; to hide inactive slides within a slider in IE6 and IE7. The overflow property fails to work when applied to an ul element that has position: relative; set on it. This hindrance prevents the element from being correctly concealed.
Investigating the provided HTML code reveals that position: relative; is indeed applied to the ul element. However, this is necessary for the slider's JavaScript functionality, which relies on adjusting the left attribute of the ul to slide the content.
Solution:
The solution to this problem lies in understanding a known bug in IE6 and IE7. To overcome this bug, add position: relative; to the container of the ul element. In the provided code, the body is the container. Therefore, the recommended fix is to add a div directly under the body and apply position: relative; to it.
To illustrate the fix:
<code class="html"><body> <div style="position: relative;"> <!-- Slider code here --> </div></code>
By adding this extra div with position: relative; to the code, the overflow: hidden; property on the ul element will start functioning correctly in IE6 and IE7, allowing the inactive slides to be hidden as expected.
The above is the detailed content of Why Does `overflow: hidden` Not Work on a `position: relative` `ul` in IE6 and IE7?. For more information, please follow other related articles on the PHP Chinese website!