Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 分区';s height=它的宽度,以百分比表示,因此div看起来像一个正方形,容器元素的形状为非正方形(仅CSS)_Html_Css - Fatal编程技术网

Html 分区';s height=它的宽度,以百分比表示,因此div看起来像一个正方形,容器元素的形状为非正方形(仅CSS)

Html 分区';s height=它的宽度,以百分比表示,因此div看起来像一个正方形,容器元素的形状为非正方形(仅CSS),html,css,Html,Css,我已经用百分比设置了元素的宽度和高度,这样它们在更大的屏幕上看起来更大一些,在普通屏幕上看起来更正常。我还设置了min height和min width,这样在屏幕太小的情况下,布局就不会扭曲。我希望我的一个元素显示为正方形,但我无法想出一个CSS唯一的解决方案 以下是我尝试过的:,但没有成功 这是可行的:,但它使用JS。看看这个:你需要一个外部的作为容器,然后一个内部的作为正方形 我对正方形使用了50%的尺寸,但您可以使用所需的尺寸:它将相对于父容器 我还给了它一个黑色的背景色来突出它:这里有

我已经用百分比设置了元素的宽度和高度,这样它们在更大的屏幕上看起来更大一些,在普通屏幕上看起来更正常。我还设置了
min height
min width
,这样在屏幕太小的情况下,布局就不会扭曲。我希望我的一个元素显示为正方形,但我无法想出一个CSS唯一的解决方案

以下是我尝试过的:,但没有成功


这是可行的:,但它使用JS。

看看这个:

你需要一个外部的
作为容器,然后一个内部的
作为正方形

我对正方形使用了50%的尺寸,但您可以使用所需的尺寸:它将相对于父容器

我还给了它一个黑色的背景色来突出它:这里有一个

技巧全在父级
填充底部:100%

CSS:

HTML:



您必须为容器设置一个明确的高度,或者内部的框从容器的内容而不是容器本身获取其高度,由于您的容器不是正方形,并且没有明确的高度或宽度,因此js解决方案是正确的。但是,如果容器元素本身不是正方形,则会失败:它会失败,因为它基于父容器维度。将500和1500作为最小维度应用于父容器会使其显示为矩形。这是一个惊人的结果如果div是正方形,则为解决方案。它具有100%的响应能力,可以完美地与引导和转换配合使用。考虑到特别提出的关于正方形的问题,回答得很好。
#container {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
}

#square {
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: #000000;
}
<div id="container">
  <div id="square">
  </div>
</div>