
巧妙实现div的border-radius与宽度等比例缩放,无需修改html结构
现有HTML结构如下:
初始CSS样式:
.flex-border-radius {
margin: 100px;
width: 400px;
height: 200px;
border: 1px solid #345;
}
需求:在不改变HTML结构的前提下,使div的border-radius与其宽度保持一致的缩放比例,并始终维持2:1的宽高比。
解决方案:利用CSS百分比单位。我们可以这样设置border-radius:
立即学习“前端免费学习笔记(深入)”;
.flex-border-radius {
border-radius: 50% / 100%; /* 或简写为 50% */
}
这里,border-radius: 50% 表示水平和垂直方向的圆角半径都为宽度的50%,从而实现完美的圆形效果。如果需要椭圆形,可以调整百分比数值。 由于宽度和高度始终保持2:1比例,因此border-radius的调整将与宽度成比例变化。 这种方法无需修改HTML,即可实现动态的等比例缩放效果。











