当窗口重新调整大小时,保持圆的纵横比

Bil*_*gan 2 html css flexbox ionic-framework

我有使用flexbox排列的圆圈,它们在小屏幕宽度上看起来很不错:

在此输入图像描述

但是当我加宽屏幕的宽度时,它们看起来非常紧张.但是我需要它们来自每个前景.

在此输入图像描述

我不确定是否有办法可以修复不同屏幕尺寸的显示效果.也许我可以使用一些媒体查询.怎么办呢?

的jsfiddle

HTML

 <div class="dashboard-grey-menu">
   <div class="flex row no-padding">
     <div class="col"><div class="circle"></div></div>
     <div class="col"><div class="circle"></div></div>
     <div class="col"><div class="circle"></div></div>
     <div class="col"><div class="circle"></div></div>
   </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

CSS

.dashboard-grey-menu {
    height: 30vh;
    background-color: #959595;
  }

  .circle {
    border-radius: 50%;
    width: 15vw;
    height: 25vh;
    background-color: #B7B7B7;
    margin: auto;
  }

.flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

Seb*_*sch 7

您必须将圆圈widthheight圆圈设置为相同的值:

.dashboard-grey-menu {
  height: 30vh;
  background-color: #959595;
}
.circle {
  border-radius: 50%;
  width: 10vw;
  height: 10vw;
  background-color: #B7B7B7;
  margin: 20px;
}
.flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<ion-content has-header="false">
  <div class="dashboard-grey-menu">
    <div class="flex row no-padding">
      <div class="col"><div class="circle"></div></div>
      <div class="col"><div class="circle"></div></div>
      <div class="col"><div class="circle"></div></div>
      <div class="col"><div class="circle"></div></div>
    </div>
  </div>
</ion-content>
Run Code Online (Sandbox Code Playgroud)