"2019-07-09 描述 一个元素的宽度是变化的,在自适应中我们需要保证他的高度和宽度一致(例如:他的宽高比率为一个常数)。 HTML CSS .constant-width-to-height-ratio { background: #333; width: 50%; } .constant-width-to-h .."

CSS 布局 - 宽高保持一致

2019-07-09

描述

一个元素的宽度是变化的,在自适应中我们需要保证他的高度和宽度一致(例如:他的宽高比率为一个常数)。

HTML

<div class="constant-width-to-height-ratio"></div>

CSS

.constant-width-to-height-ratio {
  background: #333;
  width: 50%;
}
.constant-width-to-height-ratio::before {
  content: '';
  padding-top: 100%;
  float: left;
}
.constant-width-to-height-ratio::after {
  content: '';
  display: block;
  clear: both;
}

Demo

说明

  1. ::before 伪元素中的 padding-top 能使元素的高度等于他宽度的一个百分比
  2. 100% 表示元素的高度将总是宽度的 100%,这可以创建一个自适应的正方形
  3. 这个方法允许在该元素的内部正常放置内容

浏览器支持

支持率:100%

返回总目录

每天 30 秒系列之 CSS

回帖   
请输入回帖内容...