好的,一切都在问题中... 我正在制作一个登录表单,希望将其垂直对齐到页面中央。 我对sass和compass不熟悉,因此无法使用正确的mixin...
HTML代码非常简单:
<body>
<div>
A div of unknown height to be vertically centered.
</div>
</body>
这是可使其工作的CSS3代码:
<style>
html{
height:100%;
}
body{
height:100%;
display:flex;
align-items:center;
/* I spared all the compatibility properties for the different browsers */
}
</style>
___编辑:
我想到了类似于这样的东西,但我意识到我误解了在SASS中使用父选择器的方式:
div.ieVerticalCentered {
body.verticalCentering & {
height:100%;
display:-ms-flexbox;
display:-moz-box;
display:-webkit-box;
display:-webkit-flex;
display:flex;
-ms-align-items:center;
-moz-align-items:center;
-webkit-align-items:center;
align-items:center;
html.verticalCentering & {
height:100%;
}
}
}
因此,核心问题是:当子元素具有特定类时,是否可以将特定样式应用于父元素。 据我所知,使用静态CSS不可能实现,但可以使用JS完成。最近刚了解到Sass,我在想是否可以考虑一些好的方法...