CSS实现圆自适应可以利用伪元素来实现。使用“padding-top:100%;”来实现等高,再配合border-radius属性设置为50%(或宽高相等的数值),即可实现一个圆。例如:
.circle { position: relative; width: 50%; margin: 0 auto; overflow: hidden; padding-top: 100%; border-radius: 50%; background: #f00; } .circle::before { content: ""; display: block; padding-top: 100%; }
上述代码中,通过设置父元素的padding-top为100%来实现等高,再设置border-radius为50%来实现圆形。而::before伪元素的作用是实现占位符,保证内容可以正确显示。需要注意的是,该方法实现的圆形是基于父元素等比缩放的,所以需要设置父元素的宽度,否则可能会出现错位、变形等问题。
当然,如果需要实现一个定宽的圆形,也可以使用以下代码:
.circle { width: 200px; height: 200px; border-radius: 50%; background: #f00; margin: 0 auto; }
上述代码中,直接设置宽度和高度相等,再设置border-radius为50%即可实现定宽的圆形。需要注意的是,当宽高值不相等时,此方法实现的圆形会变形。