微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

少css – 有可能得到父母的父母?

有可能得到父母的父母吗?

我试过& &安培; {}但是没有工作.

我正在尝试根据它的祖父母来创建一个孩子元素.

解决方法

取决于代码结构,并可能需要重复代码

在大多数情况下,您不能直接执行(请参阅异常的第二个示例).

如果祖父母是元素

这需要一些重复,但是允许祖父母不是最外层的包装(所以可能有一个伟大的祖父母).

grandparent {  
  /* grandparent styles */
  parent {
    /* parent styles */
    child {
      /* child styles */
    }
  }
  &.specialGrandpa {
    child {
      /* child styles with special Grandpa */
    }
  }
  &.specialGrandma {
    child {
      /* child styles with special Grandma*/
    }
  }
}

CSS输出

grandparent {
  /* grandparent styles */    
}
grandparent parent {
  /* parent styles */    
}
grandparent parent child {
  /* child styles */    
}
grandparent.specialGrandpa child {
  /* child styles with special Grandpa */    
}
grandparent.specialGrandma child {
  /* child styles with special Grandma*/    
}

如果祖父母是一个类,身份证等,并且是最外层的包装

在这里没有重复,但你不能在一个伟大的祖父母在混合.此外,这仅适用于LESS 1.3.1版本(早期版本不正确添加空格):

.grandparent {  
  /* grandparent styles */
  .parent {
    /* parent styles */
    .child {
      /* child styles */
      .specialGrandparent& {
          /* child styles with special grandparent*/
      }
    }
  }
}

CSS输出

.grandparent {
  /* grandparent styles */    
}
.grandparent .parent {
  /* parent styles */   
}
.grandparent .parent .child {
  /* child styles */    
}
.specialGrandparent.grandparent .parent .child {
  /* child styles with special grandparent*/   
}

代码通过附加到祖父选择器的“前端”,这就是为什么祖父母必须是类,ID或其他选择器本身.

附录

基于关于在跨度为空时有红色背景的评论.这不是将背景放在父母身上,而是使用孩子“假”.

span:empty:after {
    content: '';
    position: absolute;
    top: -1px;
    right: -10px;
    left: -1px;
    bottom: -10px;
    display: block;
    background-color: red;
    z-index: -1;
}

原文地址:https://www.jb51.cc/css/217217.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。