首页 > 解决方案 > 使用 Jquery 将 css 应用于除一个元素之外的所有元素

问题描述

我想让我的移动导航的背景不透明度为 0.5

我正在使用这个:

$('body:not(#navigation-mobile)').css({opacity: '0.5'});

然而,当我想要除了 to 之外的所有东西时,整个身体都会变得不透明#navigation-mobile

标签: jqueryhtmlcsscss-selectors

解决方案


不透明度影响应用元素的所有子元素。要绕过它,请将您的背景设置为没有子元素的自己的元素,并将不透明度仅应用于背景。您可能必须在后台容器上使用类似的东西:

 position: fixed; top:0; left:0; z-index:1; width:100vw; height:100vh;

然后内容容器将通过以下方式位于顶部:

 position: fixed; top:0; left:0; z-index:10;

然后,您可以在不影响内容的情况下对背景应用不透明度。不要将背景应用于身体。创建一个单独的 div 并将其应用于该 div。


推荐阅读