jquery - Material 设计精简版(MDL)中的水平和垂直中心卡

标签 jquery html css material-design material-design-lite

我正在尝试将卡片垂直和水平居中放置在页面中央。我,能够水平居中卡片。但无法将其垂直居中。我没有在 MDL 中找到任何类来使卡片垂直居中。

水平居中代码

<div class="mdl-grid">
            <div class="mdl-cell mdl-cell--3-col">
                <!-- this is just dummy columns -->
            </div>
            <div class="mdl-cell mdl-cell--6-col">
                <figure >
                    <div class="mdl-card mdl-shadow--6dp">
                        <div class="mdl-card__title mdl-color--primary mdl-color-text--white">
                            <h2 class="mdl-card__title-text ">Sign in</h2>
                        </div>
                        <div class="mdl-card__supporting-text">
                                                            <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                                <input class="mdl-textfield__input" id="login"/>
                                <label class="mdl-textfield__label" for="login">User Name</label>
                            </div>
                            <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                                <input class="mdl-textfield__input" type="password" id="password"/>
                                <label class="mdl-textfield__label" for="password">Password</label>
                            </div>
                        </div>

                        <div class="mdl-card__actions mdl-card--border">
                            <div class="mdl-grid">
                                <button class="mdl-cell mdl-cell--12-col mdl-button mdl-button--raised mdl-button--colored mdl-js-button mdl-js-ripple-effect mdl-color-text--white">
                                    Sign in
                                </button>
                            </div>
                        </div>
                    </div>

                </figure>
            </div>
            <div class="mdl-cell mdl-cell--3-col">
                <!-- this is just dummy columns -->
            </div>
        </div>

以上代码仅将卡片水平居中。我也想将卡片垂直居中。

如何在 MDL 类中实现这一点。

最佳答案

如果你喜欢使用 CSS 而不是依赖 MDL 类,你可以很容易地使用 flexbox 做到这一点:

body {
  display: flex;
  align-items: center;
  justify-content: center;
}

但通常最好创建一个包装器元素而不是在主体上设置此样式..除非这将是页面上的唯一元素,因为我猜它可能在页面上的标志上。

对于使用包装器的版本,请参阅更新的 fiddle ,我用包装器包装了 mdl-grid 并添加了 height: 100vh 到包装器样式:

https://jsfiddle.net/baouvnnx/6/

关于jquery - Material 设计精简版(MDL)中的水平和垂直中心卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783770/

相关文章:

css - table 上的 Safari 边框半径剪裁

javascript - 如何使用 jquery 从左到右或从右到左为 2 个 css 布局设置动画?

jquery - 使用属性 'title' 更改 css 项

html - Shopify 布鲁克林菜单的更改

javascript - JQuery 在按钮单击时传递变量

javascript - Canvas DrawImage() 质量差

html - 如何使用 CSS nth child?

javascript - 多个饼图未加载

javascript - 添加从页面到灯箱的链接

javascript - 使用 Array.reduce 的奇怪结果