MAT-图标不会在其DIV中心

问题描述 投票:3回答:2

我很新的CSS和我无法使垫子图标(思想泡沫)到div类= IMG(绿色左侧方) - 见附件图像。此时的图标是在顶部附近一点点

对于加入SVG图标我使用的材料角 - MatIconRegistry类(不知道它的事项)

我的结果:enter image description here

这里是我的html:

<div class="container">
  <div class="img"><mat-icon svgIcon="info"></mat-icon></div>
  Some text here!
</div>

这里是我的CSS:

$conainer-min-width: 256px !default;
$conainer-max-width: 512px !default;
$conainer-height: 50px !default;

div.container {
  max-width: $container-max-width;
  min-width: $container-min-width;
  height: $container-height;
  margin: auto;
  color: #000000;
  background-color: #ffffff;
  line-height: $container-height;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  border-width: 1px;
  border-style: solid;
  border-color: #9e9e9e;
  padding-right: 20px;
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  top: 30px;
}


div.img {
  width: $container-height;
  height: $container-height;
  float: left;
  display: block;
  margin: 0 auto;
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: #9e9e9e;
  line-height: $container-height;
  justify-content: center;
  background-color: #3f9c35;
}

任何思考如何解决这一问题?

html css angular-material
2个回答
13
投票

您需要vertical align添加到mat-icon元素或.mat-icon类:

要覆盖所有材料图标:Stackblitz

.mat-icon {
   vertical-align: middle;
}

随着FLEX:Stackblitz

CSS:

.icon-text {
    display: flex;
    align-items: center;
}

HTML:

<div class="icon-text">
   <mat-icon>home</mat-icon>
   <span>Some text here 1</span>
</div>

款式特别实用类的材料图标:Stackblitz

在一些全局CSS文件:

.v-align-middle { 
   vertical-align: middle;
}

HTML:

<div>
   <mat-icon class="v-align-middle">home</mat-icon>
   <span class="v-align-middle">Some text here 1</span>
</div>

**一些CSS框架已经有了类这样的,比如:引导4 **


款式特别的材料图标:Stackblitz

CSS:

.custom-class mat-icon {
   vertical-align: middle;
}

/** or using the class .mat-icon */
.custom-class .mat-icon {
   vertical-align: middle;
}

HTML:

<div class="custom-class">
   <mat-icon>home</mat-icon>
   <span>Some text here 1</span>
</div>

0
投票

我相信你的问题是对这些变量名错字:

$容器最小宽度:256PX默认;! !$容器最大宽度:512像素默认值; !$ conainer高度:50px的默认值;

这不匹配这里使用的变量:

div.container { 最大宽度:$容器最大宽度; 最小宽度:$容器最小宽度; 高度:$容器高度; }

我认为一旦你改变conainercontainer它应该工作:)

© www.soinside.com 2019 - 2024. All rights reserved.