Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用CSS时如何隐藏div?_Css_Html_Hidden - Fatal编程技术网

禁用CSS时如何隐藏div?

禁用CSS时如何隐藏div?,css,html,hidden,Css,Html,Hidden,下面是一个场景:我将一个div预加载到一个页面中,并自动将其display属性设置为hidden。我使用javascript弹出所说的div。问题是当客户端禁用CSS时,他们显然可以看到div。只有在调用javascript函数时才显示div(或div的内容)的最佳方法是什么 我能想到的最好的方法是将原始HTML传递给javascript变量,然后使用javascript加载所有HTML,然而,这有点慢(有相当数量的HTML),这会导致脚本在尝试引用尚不存在的div时中断 还有其他更优雅的解决方

下面是一个场景:我将一个div预加载到一个页面中,并自动将其display属性设置为hidden。我使用javascript弹出所说的div。问题是当客户端禁用CSS时,他们显然可以看到div。只有在调用javascript函数时才显示div(或div的内容)的最佳方法是什么

我能想到的最好的方法是将原始HTML传递给javascript变量,然后使用javascript加载所有HTML,然而,这有点慢(有相当数量的HTML),这会导致脚本在尝试引用尚不存在的div时中断

还有其他更优雅的解决方案吗


谢谢

如果禁用了CSS,那么隐藏div的唯一方法就是将其从DOM中删除。

您可以将html注释标记环绕在其周围:

<!-- <div>your stuff, which should be invisible</div> -->

或者将其从DOM中完全删除



您可以在div上设置一个内联样式(不推荐,但您的案例是一个例外)


您可以在页面加载时使用JS/jQuery隐藏
div
,但它会导致闪烁效果(
div
将立即可见,直到JS运行以隐藏它)。

使用javascript将要隐藏的div的高度设置为零

$('#mydiv').css(“高度”,“0px”)


当页面加载时,您希望在页面上有一个div,这样没有javascript的用户就可以看到它,也许是为了表明一些站点功能需要JS才能工作

如果您需要将该div专门用于JS,那么将其放在页面上是一种糟糕的方法。您应该动态创建它,至少是内容


通过这种方式,您可以确保没有CSS的用户不会看到它,同时仍然能够向其他启用JS的用户显示它。

选择不应用作者样式的用户允许作者脚本的可能性有多大?:-)禁用CSS是什么意思?禁用Javascript会发生,但禁用CSS并不常见。。。你能解释一下吗?@Kerrek:这正是我在读问题时突然出现的事情:)你真的需要支持没有CSS的浏览器吗?即使是像Lynx或Links这样的终端浏览器也支持基本的CSS,比如“显示”。我不在乎那些禁用CSS的人,他们已经错过了web的大部分内容,他们可能也禁用了JS。无论如何,@timaschew的解决方案是合乎逻辑的。我认为不同的浏览器会做出不同的反应。更安全的办法是尝试@timaschew的建议。