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 如何在sass中以模块化的方式实现这个粘性页脚?_Html_Css_Sass - Fatal编程技术网

Html 如何在sass中以模块化的方式实现这个粘性页脚?

Html 如何在sass中以模块化的方式实现这个粘性页脚?,html,css,sass,Html,Css,Sass,我在用电话。它要求将样式应用于、和。现在我正在使用sass来编写css,我希望实现尽可能模块化的页脚。最好是这样,例如: footer {@extend %sticky-footer;} 但是,如果这样做,我仍然需要设置和标记的样式。据我所知,Scss没有某种类型的父选择器可供使用。那么,有没有一种方法可以以模块化的方式使用sass(在scss中)实现这一点,最好是使用@extend?(有一个) 要明确的是:我不是在要求家长选择器。我要求用一种模块化的方式用SCS实现这个页脚。这是不可能的。S

我在用电话。它要求将样式应用于
。现在我正在使用sass来编写css,我希望实现尽可能模块化的页脚。最好是这样,例如:

footer {@extend %sticky-footer;}
但是,如果这样做,我仍然需要设置
标记的样式。据我所知,Scss没有某种类型的父选择器可供使用。那么,有没有一种方法可以以模块化的方式使用sass(在scss中)实现这一点,最好是使用@extend?(有一个)


要明确的是:我不是在要求家长选择器。我要求用一种模块化的方式用SCS实现这个页脚。

这是不可能的。Sass严格来说是一种编译成CSS的语言,它不了解DOM,也不假设您的标记。你所要求的必须是CSS的一个功能,这样才能工作

CSS中有一个父选择器,但目前任何浏览器都不支持它

你能得到的最接近的东西是这样的:

html%sticky-footer {
    position: relative;
}

body%sticky-footer {
    margin: 0 0 100px 0;
}

footer%sticky-footer {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100px;
    width: 100%;
}

html, body, footer {
    @extend %sticky-footer;
}

相关:和@cimmanon我不认为这些是相关的。我并不是要一个父选择器(引用:Scss没有某种父选择器,据我所知,我可以使用)。检查我对你答案的评论。你误解了我。这并不是说我需要一个父选择器,我知道目前还不可能。我要求的是一种自包含(模块化)的方式,可以将样式添加到html、正文和页脚中。mixin肯定可以做到这一点,但我想知道@extend是否可以做到这一点。使用extends没有很好的理由。“扩展”仅适用于要从中扩展的元素,您必须在每个选择器中使用扩展,该选择器应具有所需的样式。Extend还使重用变得困难,因为您无法传递变量。Extend也可能是低效的(请参阅:)好的,所以使用Extend实现这一点的唯一方法是制作一个应用于html标记的Extend。顺便说一句,我不担心传递变量,因为我只会使用一个粘性页脚,而且效率也不是问题,因为它是一个非常小的网站。我想当我只在一个地方使用它时,也没有必要抽象这样的类。无论如何,谢谢你的帮助!