首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS 'lookbehind‘使用sass / less

CSS 'lookbehind‘使用sass / less
EN

Stack Overflow用户
提问于 2013-02-05 19:34:51
回答 1查看 790关注 0票数 2

我目前正在使用sass来帮助构建我的CSS。下面给出了一个琐碎的例子。

代码语言:javascript
复制
.container {
    .list {
        .selected {
            background-image : url('highlighted.png');
        }
    }
}

不过,我也在使用CSS3 (http://modernizr.com/docs/),并希望在可能的情况下使用它。在本例中,我想测试border-radius的可用性,并使用border-radius而不是背景图像。因此,我需要检查html元素上是否存在borderradius类。有没有可能通过某种形式的回顾来实现这一点?或者,我是否必须使用.borderradius类再次重复代码,最终结果如下:

代码语言:javascript
复制
.container {
    .list {
        .selected {
            background-image : url('highlighted.png');
        }
    }
}

.borderradius .container {
    .list {
        .selected {
            background : yellow;
            border-radius : 10px;
        }
    }
}

对我来说,这看起来很混乱,很难在大型项目中维护。有谁有更优雅的方法来实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-05 19:37:02

您可以使用与号(&)引用父选择器,如下所示:

代码语言:javascript
复制
.container {
    .list {
        .selected {
            background-image : url('highlighted.png');
            .borderradius & {
                background : yellow;
                border-radius : 10px;
            }
        }
    }
}

它将编译为:

代码语言:javascript
复制
.container .list .selected { 
    background-image : url('highlighted.png');
}

.borderradius .container .list .selected {
    background : yellow;
    border-radius : 10px;
}

请查看this articlethis one,更深入地了解这一功能的用处:

Sass ...you可以在选择器声明的末尾放置一个与号(&)字符来代替重复的选择器,然后坐下来享受

的强大之处

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14706595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档