Css 仅当子类存在时,SASS才会将边距追加到正文

Css 仅当子类存在时,SASS才会将边距追加到正文,css,sass,Css,Sass,我有以下内容-现在我只希望在元素具有sticky类的情况下应用body-现在因为@at root,body边距始终处于活动状态-但我也需要它使其在嵌套的原位工作 // Sticky // @todo The body margin is always present even if not sticky //------------------------------------------------------------------------// &--sticky {

我有以下内容-现在我只希望在元素具有sticky类的情况下应用body-现在因为@at root,body边距始终处于活动状态-但我也需要它使其在嵌套的原位工作

// Sticky
// @todo The body margin is always present even if not sticky
//------------------------------------------------------------------------//
&--sticky {

    @at-root  {

        body {
            margin-bottom : 260px;
        }

        footer#{ & } {
            position         : absolute;
            bottom           : 0;
            width            : 100%;
            height           : 260px;
            background-color : #f5f5f5;
        }

    }

}
HTML 在上面的CSS中,始终应用正文边距-不应该这样

<footer> 
   blah
<footer>

废话
选择是

With the above CSS the body margin is applied and the footer postion

<footer class="footer--sticky"> 
   blah
<footer>
使用上述CSS,将应用正文边距和页脚位置
废话
我想要一个解决办法,如果粘性类不存在,那么嵌套css的非粘性类将运行

感谢您的任何帮助

请尝试在不使用SASS的情况下解决您的问题。 Sass编译为纯CSS。它做不到CSS做不到的任何事情。 如果你不能用css解决你的问题,它可能是无法解决的

访问家长 你正试着和父母一起做事情。 我认为这不是它的工作原理。 您正在寻找CSS中不存在的父选择器()

解决方案 可能的解决方案是将CSS类赋予
主体
。例如,

我现在很容易解决你的问题;-)

您已经需要Javascript来添加/删除页脚中的类。所以你可以用它

未来

您希望看到什么样的CSS代码?你的HTML是什么样子的?更新了一点-这有帮助吗-哈哈,有人已经否决了这个,没有评论-有点苛刻:)谢谢,是的,这真是一个黑暗中的刺刀,看看SASS CSS是否已经推到了另一个层次,而我没有阅读它。