【问题标题】:How to get a pseudoelement after the label of a paper-icon-button如何在纸张图标按钮的标签后获取伪元素
【发布时间】:2014-10-06 02:19:42
【问题描述】:

我有以下 .html 代码

  <paper-icon-button
    id = 'add-btn'
    label = 'NAME'
    icon = 'social:person'
    on-click = '{{ toggle }}'
    ></paper-icon-button>

在我的 style.css...

          /deep/ paper-icon-button[label]::after {
          content: " *";
          font-weight: bold;
          font-size: 150%;
          color: red;
        }

但是,结果并不是我们想要的。红色 * 放在标签下方,如果使用 ::after,则红色 * 放在标签上方。

是否有允许将 * 紧跟在标签之后的调整?

如果目前这是不可能的,是否有最佳实践让纸张元素向用户建议需要此纸张图标按钮?

虽然这个链接http://www.smashingmagazine.com/2011/07/13/learning-to-use-the-before-and-after-pseudo-elements-in-css/

信息丰富,但对解决方案没有帮助。

请查看屏幕截图,了解实际和期望的结果应该是什么样的。

【问题讨论】:

  • 能否请您添加按钮的屏幕截图并标记应放置* 的位置。
  • @维托里诺费尔南德斯 |谢谢,但它不会像你建议的那样使用纸元素。
  • @Günter Zöchbauer |添加了屏幕截图。

标签: css material-design paper-elements core-elements


【解决方案1】:

按钮是块元素,这就是* 显示在下一行的原因。这个 css 将 * 放在按钮内,我认为这就是你想要的。

  * /deep/ paper-icon-button[label]::shadow div#content > span::after {
    content: " *";
    font-weight: bold;
    font-size: 150%;
    color: red;
  }

它选择所有具有label 属性的paper-icon-buttons,然后在paper-icon-button 的影子DOM 中选择ID 为divcontent,并在div 子元素span 之后添加 *这是标签。

更新

<paper-icon-button
  id = 'add-btn'
  label = 'NAME'
  required
  icon = 'social:person'
  on-click = '{{ toggle }}'
></paper-icon-button>
  * /deep/ paper-icon-button[label][required]::shadow div#content > span::after {
    content: " *";
    font-weight: bold;
    font-size: 150%;
    color: red;
  }

这种方式只有具有required 属性的paper-icon-buttons 才能获得*

【讨论】:

  • 谢谢甘特。有用。两个问题 1)请指出我可以理解这些复杂的 css shadow dom 的一些材料的链接。 2)是否有一些方法可以防止未选择特定的纸张图标按钮标签,或者使用上面的答案选择特定的纸张图标按钮。
  • 我只是在浏览器中使用inspect element 上下文菜单并查看HTML 的样子。 /deep/ 遍历任意级别的shadowRoot::shadow 只是进入所选元素的影子 DOM。我只看了polymer-project.org/articles/styling-elements.htmlpolymer-project.org/docs/polymer/styling.html。您可以只应用一个必需的属性并在选择器中使用它(我会更新我的答案)。
  • 我不得不承认我读过这两个文档很多次 ;-) 致complexdiv#content 部分可能不是必需的,但span是标签无法直接解决它(没有 id、类、属性),因此我在选择器中指定了它的父级,以确保 * 不会添加到可能位于按钮内某处的其他跨度中。
  • 没关系!因为我发现自己反复使用这个工具,所以我必须这样做才能更深入地了解。对我以前的 cmets 中的两个问题有什么建议吗?谢谢
  • 我以为我已经解决了您的所有问题,但我错过了哪一个?我在更新的答案中添加了附加评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
相关资源
最近更新 更多