Css 如果没有javascript,我可以设置一个div样式来覆盖当前文档(包括其边距)吗?

Css 如果没有javascript,我可以设置一个div样式来覆盖当前文档(包括其边距)吗?,css,html,document,viewport,Css,Html,Document,Viewport,可以使用javascript完成,但仅使用CSS,是否可以设置div样式以完全重叠任何页面的文档内容或视口(在页面上应用不透明的灰色层)?由于页面可以为其body元素设置边距,因此将div设置为其body元素的宽度是行不通的。(也需要在IE 6中工作)如果您有这样的: <div id="cover"></div> 在一个页面上测试,其中正文有一个边距,在IE和FF上它覆盖了我的整个视口。使用IE在CSS中执行javascript的能力会是欺骗吗 width:expres

可以使用javascript完成,但仅使用CSS,是否可以设置div样式以完全重叠任何页面的文档内容或视口(在页面上应用不透明的灰色层)?由于页面可以为其body元素设置边距,因此将div设置为其body元素的宽度是行不通的。(也需要在IE 6中工作)

如果您有这样的

<div id="cover"></div>

在一个页面上测试,其中正文有一个边距,在IE和FF上它覆盖了我的整个视口。

使用IE在CSS中执行javascript的能力会是欺骗吗

width:expression(document.body.clientWidth)

高度:如果文档长度小于视口高度,则100%不会覆盖视口。在这种情况下,您将不得不使用Javascript。

对不起,我将不得不对此投反对票。表达是一个可怕的想法。我投了你一票,因为这是一个解决方案,不管个人品味如何。有时,唯一的解决办法是丑陋的,尤其是在这种边缘环境下。此外,在该链接中,它没有说不要使用它们,只是谨慎地说:“如果必须使用CSS表达式,请记住它们可能会被评估数千次,并可能影响页面的性能。”这不是“个人品味”的问题。上述代码将不断评估。这个问题可以很容易地用CSS解决,任何不能用CSS解决的问题都可以用Javascript解决。为此引入CSS表达式是完全没有必要的,坦率地说,CSS表达式实际上没有什么必要的。更不用说它们不兼容跨浏览器。看看dasha的回答,如果文档长度小于视口的高度,则无法覆盖整个屏幕。如果使用直接CSS,则必须使用javascript,无论是作为表达式还是作为脚本加载。这是一个答案。这就是这个网站的目的,发布答案。这个答案也是不正确的。它很好用。唯一不起作用的情况是HTML标记有空白,在这种情况下,您可以使用Javascript一次来更正它。使用CSS表达式是错误的。这个网站是为正确的答案,错误的答案会被否决。虽然这是唯一的方法(当然我想不出其他方法),我建议你让你的文档对那些不禁用CSS的人来说毫无用处。如果这是对安全性的一种尝试,那么它只能通过隐晦来实现(因为禁用CSS非常容易)。我认为,为了使其有用,您需要使用JS(或其他)来允许使用文档。否则,发布它有什么意义呢?我假设他想要制作某种模式应用程序,但是想要一个用于覆盖的纯CSS解决方案。即使不是这样,也只需要添加
right:0;底部:0到css。
width:expression(document.body.clientWidth)