Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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
Javascript 当一个div没有显示时,忘记这个css规则_Javascript_Php_Html_Css - Fatal编程技术网

Javascript 当一个div没有显示时,忘记这个css规则

Javascript 当一个div没有显示时,忘记这个css规则,javascript,php,html,css,Javascript,Php,Html,Css,我有一个情况,我有3个分区: -菜单-标题(右上环绕) -陈列柜(rt陈列柜) -主体内容(#rt主体环绕) 菜单“粘滞”,位置:固定。因此,我必须移动在其下方使用填充(填充顶部:120px;边距底部:-120px;)渲染的div 我遇到的问题是,在某些页面上,第二个DIV是#rt mainbody环绕。(然后正确渲染此div。) 但在其他页面上,我将rt showcase(显示一些宣传图片)作为第二个DIV,然后是主体DIV 因此,我需要实现的是一个规则,当显示rt showcase时,不在r

我有一个情况,我有3个分区: -菜单-标题(右上环绕) -陈列柜(rt陈列柜) -主体内容(#rt主体环绕)

菜单“粘滞”,位置:固定。因此,我必须移动在其下方使用填充(填充顶部:120px;边距底部:-120px;)渲染的div

我遇到的问题是,在某些页面上,第二个DIV是#rt mainbody环绕。(然后正确渲染此div。) 但在其他页面上,我将rt showcase(显示一些宣传图片)作为第二个DIV,然后是主体DIV

因此,我需要实现的是一个规则,当显示rt showcase时,不在rt mainbody环绕div上添加填充和边距。我不知道是用Javascript还是PHP来实现这一点,也不知道如何实现这一点

我做了一个插图来说明我的确切意思

希望这里有人能帮我!谢谢


如果我正确理解了这个问题,那么只有在另一个div不可见的情况下,您才希望在特定div下留有边距。处理此问题的最佳方法是在顶部div中添加底部边距,在其下方div中添加负边距(可以显示和隐藏)。这方面的css是:

.top {
    margin-bottom: 20px;
}

.middle {
    margin-top: -20px;
}

有时候一张图片比一些代码更值钱,所以我创建了一个。享受吧

您是否尝试过在
主体上应用
填充顶部:120px
?请查看
+
选择器。可以用于兄弟姐妹,因此如果兄弟姐妹不存在,规则将不会激活(有点过于简化,但很接近),您可以提供小提琴吗?问题是,在某些页面上,第二个DIV不显示。(我只在主页上使用“rt showcase”。)在这种情况下,仅此div需要填充/边距。(因此,第三个div不需要填充/边距,因为它会将内容移动120px,看起来不太好看…)在所有其他页面上,“rt mainbody”是第二个div,因为“showcase”没有显示。只有在这种情况下,我才希望将填充和边距添加到此“主体”,因为菜单会与内容重叠。。我希望我能解释清楚。这是一个很好的例子!然而,这不是我的意思。顶部(菜单)层约为120像素。这是“固定”的,因此它与页面一起“滚动”。在这个菜单下面有两个可能的div,由于菜单的“固定”行为,我必须将其向下移动120像素。在某些页面上,我将“DIV2”作为菜单下方的第一个选项,因此它需要填充/边距。在这些页面上,DIV3位于DIV2的下方,因此它不需要任何填充/边距,因为它会移动内容。在其他页面上,我只有菜单和DIV3。在这种情况下,我需要在DIV3中添加边距和填充,因为这将在菜单下方呈现,否则它将被切断。换句话说:如果存在第2部分,则第3部分不需要填充/边距。如果第2部分不存在,则第3部分需要填充/边距。