【发布时间】:2014-06-08 00:56:29
【问题描述】:
好吧,一切都在问题之中...... 我正在处理一个登录表单,我想在正文的中心垂直对齐。 我是 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,我想知道是否可以考虑一些好的东西......
【问题讨论】:
-
请分享您的标记或提供至少一个简短的有效示例。登录表单是否有固定的宽度/高度?您需要支持什么浏览器和版本?
-
并非每个 CSS 技巧都有在 Compass 中为其编写的 mixin。如果你不知道完成工作需要什么 CSS,你怎么可能让 Sass 或 Compass 来做呢?
-
这绝对不是提供的线程的重复;)
标签: css sass vertical-alignment mixins compass-sass