参加web前端校招的同学们经常会遇到这样的面试题:用HTML+CSS画出一个同心圆。
例如:
这道题主要考验的是基础盒模型布局能力和倒圆角属性的巧用。
1、html代码
<body>
<div id="circle_bot">
</div>
<div id="circle_mid">
</div>
<div id="circle_top">
</div>
</body>
html部分代码很简单,只需要三个DIV标签即可,记得分别命名,这样在CSS中方便单独选中。
2、CSS代码:
<style type="text/css">
#circle_bot{
background-color:#E09;
width: 150px;
height: 150px;
margin: 0px 0 0 0px;
border-radius: 50%;
}
#circle_mid {
background-color:#EAA;
width: 100px;
height: 100px;
margin: -125px 0 0 25px;
border-radius: 50%;
}
#circle_top{
background-color:#ED9;
width: 50px;
height: 50px;
margin: -75px 0 0 50px;
border-radius: 50%;
}
</style>
分别用id选择器选中三个div,然后给予不同的背景色予以区分。
从底圆到顶圆依次设定宽高(事实上此时还是个正方形),按照位置设置偏移位置,margin的四个偏移值分别对应上、右、下、左的边距,负数则表示反方向。
border-radius是倒圆角,数值可以使用像素,为了简单起见设置50%则倒圆角的半径默认是该DIV宽度的50%。