在这种情况下如何计算填充?需要它使长度和宽度相同
How is padding calculated in this situation? Need it for making length and width same
我正在尝试使用css创建一个圆圈。我希望它保持1:1的宽高比,即使当浏览器调整大小。然而,为了达到1:1的比例,我在使宽度等于高度方面遇到了麻烦。我尝试了从JS到纯CSS的许多方法,但它们似乎都不起作用。我的目标是让id为"circ1"-"circ4"的锚具有1:1的宽高比。目前,我有宽度作为一个百分比和高度作为一个任意像素计数,我的眼球。我知道我可以使用下面的示例代码创建1:1的比例:
div {
background:orange;
width:20%;
padding-top:20%;
}
但是我也知道填充是基于容器的,这是我似乎不能弄清楚的部分。
这是有问题的网站。正文中的圆圈是我试图做成的"真正的圆圈",当浏览器调整大小时,它们也会保持圆形。
http://www.somil.site90.net这是我的HTML布局,我认为这是问题的根源,因为锚是嵌套多次,每次我尝试使用'填充'它被抛出,因为我不确定填充是基于哪个容器。
<body>
<div id = "main">
<div id = "yolo">Check some stuff out!</div>
<div id = 'circles'>
<a id = "circ1" href = #> <!--here is the anchor which I want to be 1:1-->
<img class = app src = 'applogo.png' width = 80% height = 80%><div id = "taco">
Applocity</div>
</a>
<a id = "circ2" href = #>
<img class = python src = 'pyth.png' width = 85% height = 85%><div id = 'burr'>
Pythings</div>
</a>
<a id = "circ3" href = #>
<img class = calc src = 'calculator.png' width = 85% height = 85%><div id = 'churr'>
Calculator Programs</div>
</a>
<a id = "circ4" href = #>
<img class = fold src = 'folder.png' width = 80% height = 80%><div id = 'purr'>
Miscellaneous</div>
</a>
</div>
</div>
</div>
</body>
这是#circ1的css。其他圆圈的css样式几乎相同,但可以在上面列出的站点的页面源代码(CTRL+F "circ2/3/4")中看到。
#circ1 {
background: #ff8300;
height: 175px; //arbitrary value which I want to equal to 15% width converted to pixels
width: 15%;
border-radius: 50%;
position: relative;
margin:65px 0px 100px 12%;
float: left;
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-ms-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
transition: all 500ms ease-in-out;
}
将#circ1
中的width:15%;
改为width:175px;
#circ1 {
background: #ff8300;
height: 175px;
width:175px;
border-radius: 50%;
position: relative;
margin:65px 0px 100px 12%;
float: left;
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-ms-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
transition: all 500ms ease-in-out;
}
在调整大小时给元素一个恒定的长宽比有点棘手。看一下这个JSFiddle
你想给每个锚一个父div,并给这些父div一个基于padding-bottom
的百分比。给锚定绝对位置,并将它们的大小设置为父div的大小(top: 0; bottom: 0; left: 0; right: 0;
)。请注意,当您调整大小时,宽高比保持为1:1。
希望这对你有帮助。
相关文章:
- 如何解决这种情况下的非法调用类型错误
- 为什么在这种情况下,“This”确实充当javascript函数中的私有成员
- 在这种情况下,如何正确对齐显示
- 为什么jQuery悬停方法在这种情况下不起作用
- 在这种情况下,如何获取选定的表tr行
- 如何使多个工作在这种情况下
- 在这种情况下如何使用闭包
- 为什么在这种情况下要向JQuery添加两个链接
- 为什么push方法没有'在这种情况下不起作用:[].推
- 在这种情况下,*[Symbol.iterator]的含义是什么
- 在这种情况下,调用阻止默认值
- 如何停止两个按钮执行相同的工作?在这种情况下,它们都会滚动到顶部
- 在这种情况下使用onclick事件处理程序可以接受吗
- 如何避免在这种情况下修改事件对象
- 在这种情况下,如何将字符串添加到函数中 php
- 在这种情况下,“foo[x]”是什么意思?
- 在这种情况下,我如何在jquery中实现限制字符
- 在这种情况下,我应该如何在余烬中放置我的模型有很多关系
- 如果startTime小于currenttime,在这种情况下如何计算正确的时间
- 在这种情况下如何计算填充?需要它使长度和宽度相同