提问者:小点点

反应灵敏的设计:将全屏正方形集中在任意大小的屏幕上


问题很简单:

  • 我的页面的主要部分是一个正方形,应该以所有屏幕尺寸和方向显示在屏幕的中心
  • 正方形应该有效地使用屏幕,并且尽可能大,而不需要滚动
  • 没有滚动条,没有固定大小,没有溢出隐藏,没有Javascript。
  • Flexbox被鼓励。

这是页面在横向或纵向浏览器中的样子:

这里是一个CodePen作为起点。

<div class="body">
  <div class="square">
    Square
  </div>
</div>

共1个答案

匿名用户

这是我实现最终目标的尝试。

关键点是对方形框的widthheight属性使用vmin视口百分比长度:

这里的例子

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

.body {
  min-height: 100vh;
}

.square {
  width: 100vmin;
  height: 100vmin;
}