Google Chrome and Opera exhibit a rendering issue when implementing code with a fixed-position sidebar and an unordered list (UL) within the body. Specifically, the sidebar momentarily disappears upon clicking anchor links.
To address this issue in Chrome, apply the following CSS property to the sidebar:
<code class="css">#sidebar { -webkit-transform: translateZ(0); }</code>
This invokes 3D transformation, separating repainting from other CSS operations and resolving display bugs.
For Opera, the following CSS animation can be used to force continuous repaints:
<code class="css">@keyframes noop { 0% { margin-bottom: 0; } 100% { margin-bottom: 1em; } } #sidebar { animation: noop 1s infinite; }</code>
This solution forces Opera to continuously calculate and render layout factors, maintaining the fixed positioning of the sidebar despite the presence of the UL element.
The Opera solution may result in a slight flicker as redrawing occurs. However, this is currently the optimal solution for this issue.
Variations of this bug can also occur when there are 3D transforms higher up the DOM tree. Remove such transforms first to prevent this issue.
In some cases, applying scale3d(1,1,1) instead of translateZ(0) may be necessary to resolve the issue in Chrome.
The above is the detailed content of Here are a few question-based titles that capture the essence of the article: Clear and Concise: * Fixed Position Anchor with UL in Body: Why Does It Break in Chrome and Opera? * Sidebar Disappears. For more information, please follow other related articles on the PHP Chinese website!