作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了打印,我必须呈现一个 HTML 文档并在顶部添加一些标题。问题是, header 源下方的任何内容都不能覆盖我的 header 。今天,如果我像这样添加标题
<html>
<body>
<div>My Header</div> <!-- added by me -->
...
foreign HTML
...
</body>
<html>
我遇到的问题是,foreign HTML
可能会定义一个元素(例如 div
),它位于我的页眉之上。我必须阻止这种情况。
即使是 iframe
也可以叠加。或者有人为我稍后用于标题的元素定义了 "display: none;"
。
我不能划分标题和正文消息,因为结果必须是一个 HTML 文档。但我必须确保我的标题是可见的,并且没有被其他东西覆盖或操纵。
好消息是,我确定没有 JS 正在运行。
有什么想法吗?
最佳答案
我能想到的最好办法是使用带srcdoc
的沙盒iframe
(IE 不支持)
有点像
iframe {
border: none;
padding: 0;
margin: 0;
background: red;
}
<div id="header">
header
</div>
<iframe srcdoc="
<style>
body{margin:0}
#header{color:red} /*this will not work*/
#test{position:fixed;top:0;left:0;} /*even fixed positioning is maintained inside the iframe*/
</style>
<div id='test'>user content</div>
" sandbox=""></iframe>
但同样,您至少必须清理用户内容,以免它们脱离 srcdoc 字符串。
关于html - 如何在 HTML 文档中创建一个不可覆盖的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479840/
我是一名优秀的程序员,十分优秀!