首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Styletron使用伪类对psuedo元素进行样式设计

如何使用Styletron使用伪类对psuedo元素进行样式设计
EN

Stack Overflow用户
提问于 2017-11-29 18:16:48
回答 1查看 741关注 0票数 2

在尝试向按钮添加材料设计纹章动画时,我使用了一个纯css实现这里并使用了它。

但现在我们要迁移到史泰龙了。我该如何重现这个?

代码语言:javascript
复制
.ripple-class {
  /* props */
}

.ripple-class:after {
  /* props */
}

.ripple-class:active:after {
  /* props */
}

在程式机里?我试过了

代码语言:javascript
复制
injectStyles(styletron, {
  // ripple-class props
  ':after': {
    // :after props
  },
  ':active:after': {
    // more props
  }
});

代码语言:javascript
复制
injectStyles(styletron, {
  // ripple-class props
  ':after': {
     // :after props
  },
  ':active': {
    ':after': {
       // more props
    }
  }
});

按钮不动。如果我只是把实际的css放在一个样式标签中,它就能正常工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-29 20:49:10

您尝试的第一个方法应该可以工作,但是您必须用引号对content属性进行双包装,否则它就不会在结果的CSS中有一个值(然后整个:after伪值就会因为content属性的值错误而被忽略):

代码语言:javascript
复制
injectStyles(styletron, {
    // ripple-class props
    ':after': {
        content: '""',                  // '""' (literally "") is the value not '' (literally nothing)
        // :after props
    },
    ':active:after': {
        content: '""',
        // more props
    }
});

因为':after': { content: '' }会产生类似于这个:after { content: }的CSS,这是错误的。

':after': { content: '""' }会产生类似于这个:after { content: ""}的CSS,这是正确的。

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

https://stackoverflow.com/questions/47559253

复制
相关文章

相似问题

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