【发布时间】:2018-01-08 03:45:37
【问题描述】:
我找到了一些链接,如何使用边距/填充技巧 (http://www.mademyday.de/css-height-equals-width-with-pure-css.html) 设置元素的高度,例如其宽度。但是我想设置一个元素的宽度,比如它的高度。
.container {
display: flex;
margin: 20px;
height: 50px; /* changing this value ... */
width: 300px;
}
.label {
flex: 1;
background: green;
}
.icon {
height: 100%;
width: 50px; /* <- ... should set this value to the same size */
background: red;
}
http://jsbin.com/melurilefe/edit?html,css,output
因此元素的高度为 100%,当其父元素的高度从 50px 变为 100px 时,元素的宽度应反映该大小,因此它始终保持为正方形。
仅使用 CSS 可以吗?谢谢!
【问题讨论】:
-
您可以使用
vh(视口高度)或vw(视口宽度)来设置高度和宽度。不幸的是,这意味着您不能根据父元素进行缩放,而只能根据视口大小进行缩放。 -
我想我想出了一个解决方案,但它很脏,所以我想我会构建不同的组件。可以使用 flex-direction: column 构建元素并将其旋转 90 度并使用我在问题中发布的链接。然后还必须旋转内容等等;)
-
我认为最简单的方法是使用 javaScript 并在每次加载或调整页面大小时运行它。然而,这不是你的问题。