0

我正在使用粘页脚的 James Dean。它要求将样式应用于<html>,<body><footer>. 现在我正在使用 sass 编写我的 css,并且我想尽可能模块化地实现这个页脚。最好像这样,例如:

footer {@extend %sticky-footer;}

但是,如果我这样做,我仍然需要设置<html>and<body>标签的样式。据我所知,Scss 没有某种我可以使用的父选择器。那么有没有办法以模块化的方式使用 sass(在 scss 中),最好使用@extend?(在 codepen 上有一个例子)

需要明确的是:我不是在要求父选择器。我正在寻求一种模块化的方式来用 scss 实现这个页脚。

4

1 回答 1

0

这是不可能的。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;
}
于 2013-10-10T12:01:49.790 回答