未添加带有 doctype 标记的 dtd 时 IE 图层问题
我面临一个非常奇怪的问题,因为当我不将以下行添加到 html 时,图层(z-index)不起作用。
如果您知道该问题以及如何在不添加此标签的情况下使图层正常工作,请告诉我。
此致, 克沙夫
I am facing a very strange issue because of which when i do not add the below line to the html the layers(z-index) is not working.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"; "_http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Please let me know if you are aware of the issue and how to get layers working without adding this tag.
Best Regards,
Keshav
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
现代版本的 IE (7+) 有不同的渲染引擎,并根据用户的偏好和页面的文档类型选择渲染引擎。因此,您的问题可能是,当您测试页面时 IE 使用的任何默认渲染引擎(可能是兼容模式)要么存在渲染错误,要么在标记中暴露了导致 z-index 无法正确渲染的错误。当您添加文档类型时,IE 会更改其渲染引擎,旧渲染引擎中的错误或您的代码会消失,因此您的 z-index 渲染得很好。
有两种方法可以解决此问题:
Modern versions of IE (7+) have different rendering engines, and choose their rendering engine based on the user's preferences and the page's doctype. So your problem is probably that whatever default rendering engine IE is using when you test your page (probably a compatibility mode) either has a rendering bug or exposes a bug in your mark-up that causes the z-index to not render properly. When you add the doctype, IE changes its rendering engine and the bug in the old rendering engine or your code disappears, so your z-index renders just fine.
There are two ways to fix this: