javascript - 基于另一个 div 设置父 div 的样式

标签 javascript jquery html css

我正在寻找一种将 CSS 样式应用于 div2 的解决方案,仅当 div1 可见时。我该怎么做?

<div class="div1"></div>
<div class="div2"></div> 

<style>
    /* when div1 is NOT present */
    .div2 {
        margin: 100px auto 100px auto;
    }

    /* when div1 IS present */
    .div2 {
        margin: 0 auto 100px auto;
    }
</style>

最佳答案

无需Javascript;您可以使用 CSS“兄弟”选择器来实现这一点:

.div2 {
    margin: 100px auto 100px auto;
}

.div1 + .div2 {
    margin: 0 auto 100px auto;
}

当然,这仅适用于 .div1 元素不存在于 DOM 中的情况(根据代码示例中的注释)。如果您想在 div1 存在但隐藏时执行此操作,则需要使用 JS。

关于javascript - 基于另一个 div 设置父 div 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37373529/

相关文章:

php - facebook 从 cookie php 自动重新登录

ruby-on-rails - 当 appcache 存在时使用 AJAX 和 Rails 设置 session 变量

java - 将非 Applet 放到网站上

javascript - 单击按钮后弹出元素消失的问题

html - <select> 中的响应式文本并居中对齐

javascript - 使用 HTML 和 CSS 的打印预览功能

javascript - 如果为假,如何从原型(prototype)返回输入

javascript - jQuery 显示隐藏的 li 元素,然后隐藏可见的 li 元素

javascript - 单击功能不适用于动态添加的 div

php - 如何创建带有水印的jquery文本框?