用继承制作一个方形div? (没有js)

时间:2016-04-19 19:44:00

标签: css height width

有没有办法读取宽度并设置相同值的高度? 我知道viewportheight [vh]和[vm]的技巧,但在这里效果不好。

1 个答案:

答案 0 :(得分:2)

你可以利用padding-bottom: 100%中的百分比是宽度的百分比而不是高度的事实来做到这一点。因此,使用padding-bottom: 100%设置伪元素将根据宽度更改高度。内容可以位于绝对位置层。

(我添加了一个小悬停动画,以证明更改宽度也会改变高度)

.container {
  position: relative;
  width: 100px;
}

.container:hover {
  width: 150px;
  transition: width 2s;
}

.container::before {
  display: block;
  padding-bottom: 100%;
  content: '';
}
.content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: red;
}
<div class="container">
  <div class="content">

  </div>
</div>