Ord*_*aad 17 html css materialize material-design
如何将登录框水平和垂直居中?
这是我的结构:
<div class="container">
<div class="row">
<div class="col s12 m6">
<div class="card">
<div class="card-content">
<span class="card-title black-text">Sign In</span>
<form>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="firstname" type="text" class="validate">
<label for="firstname" class="active">First Name</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="lastname" type="text" class="validate">
<label for="lastname" class="active">Last Name</label>
</div>
</div>
</form>
</div>
<div class="card-action">
<input type="submit" class="btn" value="Sign In">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试使用valign-wrapper
和valign
类,但它不起作用.
fri*_*108 13
这是正确的(materializecss)方式,没有凌乱的CSS:
<div class="valign-wrapper" style="width:100%;height:100%;position: absolute;">
<div class="valign" style="width:100%;">
<div class="container">
<div class="row">
<div class="col s12 m6 offset-m3">
<div class="card">
<div class="card-content">
<span class="card-title black-text">Sign In</span>
<form>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="firstname" type="text" class="validate">
<label for="firstname" class="active">First Name</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="lastname" type="text" class="validate">
<label for="lastname" class="active">Last Name</label>
</div>
</div>
</form>
</div>
<div class="card-action">
<input type="submit" class="btn" value="Sign In">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
只需使用offset
对齐.将卡片视图偏移剩下的一半.
<div class="container">
<div class="row">
<div class="col s12 m6 offset-m3">
<div class="card">
<div class="card-content">
<span class="card-title black-text">Sign In</span>
<form>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="firstname" type="text" class="validate">
<label for="firstname" class="active">First Name</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input placeholder="Placeholder" id="lastname" type="text" class="validate">
<label for="lastname" class="active">Last Name</label>
</div>
</div>
</form>
</div>
<div class="card-action">
<input type="submit" class="btn" value="Sign In">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
尝试这个解决方案,我希望它可以帮助你
.card {
position: absolute;
left: 50%;
top: 50%;
-moz-transform: translate(-50%, -50%)
-webkit-transform: translate(-50%, -50%)
-ms-transform: translate(-50%, -50%)
-o-transform: translate(-50%, -50%)
transform: translate(-50%, -50%);
}
Run Code Online (Sandbox Code Playgroud)
你也可以试试
body (or container-div) {
display: flex;
align-items: center;
justify-content: center;
}
Run Code Online (Sandbox Code Playgroud)
你有没有尝试过
.col.s12.m6{
float: none;
margin: 100px auto;
width: 300px;
height: 300px;
}
Run Code Online (Sandbox Code Playgroud)
看看这个小提琴, http://fiddle.jshell.net/8vu47fb2/
使用 margin-top、margin-bottom 将框居中对齐。
归档时间: |
|
查看次数: |
49048 次 |
最近记录: |