首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用flex layout - angular material 2将div居中到页面

使用flex layout - angular material 2将div居中到页面
EN

Stack Overflow用户
提问于 2017-10-21 02:41:01
回答 3查看 7.8K关注 0票数 3

我想在页面中央显示一张卡片。当我将类progress-wizard放在一个单独的div中时,如下所示。

代码语言:javascript
复制
<div class="progress-wizard" >
  <div fxLayout="row" fxLayoutAlign="center center">
    <mat-card>
      <button mat-raised-button color="primary">Primary</button>
    </mat-card>
  </div>
</div>

css:

代码语言:javascript
复制
.progress-wizard {
  height: 90vh!important;
}

这样,第二个div不继承父div的高度,并且卡片不会居中对齐。我想知道flex layout是如何工作的,以及正确的解决方案?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2018-09-26 02:34:59

用于垂直居中对齐的fxLayoutAlign和用于获得100%高度的fxFill

代码语言:javascript
复制
<div class="class" fxLayout fxFill fxLayoutAlign="space-around center">
</div>
票数 7
EN

Stack Overflow用户

发布于 2017-10-21 05:50:46

我也在和它作斗争。这就是对我有效的方法。在包含要居中的元素的div上使用此类。最新的flexLayout并不能很好地将页面居中。宽度是元素的固定宽度,它将使您希望居中显示的所有内容都可见。

代码语言:javascript
复制
.center {
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
  width:350px;
  text-align:center;
  margin: 0 auto;
}
票数 -1
EN

Stack Overflow用户

发布于 2017-10-22 13:54:44

Flexbox为垂直居中提供了一个非常好的解决方案。为了在屏幕中央显示卡片,你必须将高度设置为视区高度。

代码语言:javascript
复制
.card-container { 
    height: 100vh;
}

代码语言:javascript
复制
.card-container {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-content {
  background-color: #546e7a;
  color: #fff;
  height: 100px;
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 4px;
}
代码语言:javascript
复制
<div class="card-container">
  <div class="card-content">
  Hey! I'm in the center.
  </div>
</div>  

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46855390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档