具有嵌套元素的可重用块 - SCSS [重复]

Posted

技术标签:

【中文标题】具有嵌套元素的可重用块 - SCSS [重复]【英文标题】:Reusable Block with Nested Elements - SCSS [duplicate] 【发布时间】:2016-01-29 00:59:28 【问题描述】:

假设我在一个样式表中有两个无序列表。两者都应该使用相同的样式,但都嵌套在不同的父元素中:

#foo
  position:absolute;
  ...
  ul
    list-style-type:none;
    li
      color:red;
      ...
    
  


#bar
  position:relative;
  ...
  ul
    list-style-type:none;
    li
      color:red;
      ...
    
  

有没有办法创建类似于 Rails 的部分代码,其中单个代码块可以在不同的父元素中重用/呈现?

【问题讨论】:

你不能只为两个列表应用一个类名并相应地设置类的样式吗? @pete 实际上我最终这样做了,但我仍然想看看 SCSS 是否提供了一种编程方式来实现我想要的(也许允许在这样的嵌套块中传递 *args)。 你为什么不用mixin @alirezasafian 似乎找不到任何关于使用 mixins 进行嵌套样式的内容。你能指出我正确的方向吗? 检查this 【参考方案1】:

解决方案:

1-混合 Link

@mixin ul-style ()

   ul
    list-style-type:none;
    li
      color:red;
    
  


#foo
  position:absolute;
  @include ul-style();


#bar
  position:relative;
  @include ul-style();

2-继承 Link

.ul-style

  ul
  
    list-style-type:none;
    li
      color:red;
      



#foo
  position:absolute;
  @extend .ul-style;



#bar
  position:relative;
  @extend .ul-style;

【讨论】:

是的,#1 正是我需要的!不确定可以使用哪种 SCSS 方法来实现此目的。 谢谢!我刚刚想出了两者的动态组合:从 Mixin 扩展检查我在这里重复问题的答案***.com/a/66259322/11155364

以上是关于具有嵌套元素的可重用块 - SCSS [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法在反应引导模式中使用我的可重用反应组件

具有 set Input() 任何类型的可重用组件是一个好习惯吗?

两种方式实现自己的可重入锁

合并YAML中的可重用块(Symfony框架)

如何在 Xamarin Forms 的可重用 ViewCell 中绑定命令?

QML中的可重用字体属性[重复]