Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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
Html CSS:隐藏不支持javascript的浏览器的元素_Html_Css_Modernizr - Fatal编程技术网

Html CSS:隐藏不支持javascript的浏览器的元素

Html CSS:隐藏不支持javascript的浏览器的元素,html,css,modernizr,Html,Css,Modernizr,所以我使用Modernizer来检测javascript。基于.no js类,我有以下几点: html.no-js .navContainer { visibility: visible !important; } .navContainer{ visibility: hidden; } 如果用户启用了javascript,则元素将隐藏。如果未启用javascript,则元素可见 效果很好。现在我想做相反的事情。也就是说,如果用户没有javascript,我希望隐藏一个元素。最

所以我使用Modernizer来检测javascript。基于
.no js
类,我有以下几点:

html.no-js .navContainer {
    visibility: visible !important;
}
.navContainer{
    visibility: hidden;
}
如果用户启用了javascript,则元素将隐藏。如果未启用javascript,则元素可见

效果很好。现在我想做相反的事情。也就是说,如果用户没有javascript,我希望隐藏一个元素。最好的方法是什么

我已经尝试了很多方法,包括在这方面的许多变化:

html.no-js .navButton {
    display: none;
}

html .navButton {
    display: block;
}

但到目前为止,一切都不起作用。我的理解是,
html.no-js.navButton
应该只在
上选择。不是这样吗?

试着像下面那样直接把它放到页面中

<noscript>
 <style type="text/css">
 @import url (nojs.css);

 .navButton {
     display: none;
 }

 </style>
 </noscript>

@导入url(nojs.css);
.导航按钮{
显示:无;
}

尝试将其直接放入页面,如下图所示

<noscript>
 <style type="text/css">
 @import url (nojs.css);

 .navButton {
     display: none;
 }

 </style>
 </noscript>

@导入url(nojs.css);
.导航按钮{
显示:无;
}

要在视觉上隐藏并防止屏幕阅读器使用

html.no-js .navbutton {
  display: none
}
如果要在视觉上隐藏屏幕阅读器,但要保持布局,请执行以下操作:

html.no-js .navbutton {
  visibility: hidden;
}
要仅在视觉上隐藏,但可供屏幕阅读器使用,请执行以下操作:

html.no-js .navbutton {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
要扩展上一个样式,以允许在通过键盘导航到时对元素进行聚焦,请执行以下操作:

html.no-js .navbutton.focusable:active,
html.no-js .navbutton.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}
来源


在屏幕阅读器使用的情况下进行视觉隐藏

html.no-js .navbutton {
  display: none
}
如果要在视觉上隐藏屏幕阅读器,但要保持布局,请执行以下操作:

html.no-js .navbutton {
  visibility: hidden;
}
要仅在视觉上隐藏,但可供屏幕阅读器使用,请执行以下操作:

html.no-js .navbutton {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
要扩展上一个样式,以允许在通过键盘导航到时对元素进行聚焦,请执行以下操作:

html.no-js .navbutton.focusable:active,
html.no-js .navbutton.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}
来源


您确定要禁用JS还是至少不加载Modernizer?否则,你可能会有一个更具体的CSS规则,它会覆盖你在问题中发布的规则。我正在使用chrome插件来禁用和启用JS。您认为CSS是有效的/应该做什么?是的,如果您在源代码中的
元素上有
no js
类,并且没有删除它,那么
.navButton
元素应该被隐藏。概念证明:。我建议您创建一个JSFIDLE并复制您的问题。好吧,现在一切正常。我一定是有点疲劳了。谢谢你看这个问题。。。我将在上面添加一点改进。它可能应该阅读
html.no-js.navbutton
html.js.navbutton
,以明确其意图。您确定要禁用js还是至少不加载Modernizer?否则,你可能会有一个更具体的CSS规则,它会覆盖你在问题中发布的规则。我正在使用chrome插件来禁用和启用JS。您认为CSS是有效的/应该做什么?是的,如果您在源代码中的
元素上有
no js
类,并且没有删除它,那么
.navButton
元素应该被隐藏。概念证明:。我建议您创建一个JSFIDLE并复制您的问题。好吧,现在一切正常。我一定是有点疲劳了。谢谢你看这个问题。。。我将在上面添加一点改进。它可能应该阅读
html.no-js.navbutton
html.js.navbutton
,以使意图显而易见。实际上,这可能是更好的解决方案。实际上,这可能是更好的解决方案。