Css 触针混入指混入元件';谁的父母?
我一直在摆弄手写笔,现在有一点,并想完成一些与混音,感觉它应该是可能的,即使我不能弄清楚它。具体地说,我想编写一个mixin,为应用mixin的元素的父元素设置样式。例如,我永远记不起使用伪元素垂直居中的正确语法,所以我想为它准备一个方便的dandy mixin;但理想情况下,我希望将其应用于要居中的元素,并且psedoo元素属于该元素的父元素 毫不奇怪,这不起作用:Css 触针混入指混入元件';谁的父母?,css,stylus,Css,Stylus,我一直在摆弄手写笔,现在有一点,并想完成一些与混音,感觉它应该是可能的,即使我不能弄清楚它。具体地说,我想编写一个mixin,为应用mixin的元素的父元素设置样式。例如,我永远记不起使用伪元素垂直居中的正确语法,所以我想为它准备一个方便的dandy mixin;但理想情况下,我希望将其应用于要居中的元素,并且psedoo元素属于该元素的父元素 毫不奇怪,这不起作用: vertical-middle() display inline-block vertical-align mi
vertical-middle()
display inline-block
vertical-align middle
&
font-size 0
&::before
content ''
display inline-block
height 100%
vertical-align middle
.nav-wrapper
.nav
vertical-middle()
…事实上可能有点混淆了手写笔,因为它生成的CSS有两个.nav wrapper.nav
块:
.nav-wrapper .nav {
display: inline-block;
vertical-align: middle;
}
.nav-wrapper .nav {
font-size: 0;
}
.nav-wrapper .nav::before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
我的猜测是,使用块混入可以减少我的悲伤,但我有一种感觉,那就是我最终会将
.nav
和.nav wrapper
的常规样式传递给它,而且这种方式似乎会带来痛苦。使用块混入是您的最佳方式:
vertical-middle($sel)
{$sel}
display inline-block
vertical-align middle
{block}
font-size 0
&::before
content ''
display inline-block
height 100%
vertical-align middle
.nav-wrapper
+vertical-middle('.nav')
foo: bar
当Stylus获得对更强大的父级引用的支持时,您就可以按照自己的方式进行操作了-说,这非常聪明!非常感谢你的想法;我期待着用它来烘干我的样式表。