拿出一张纸,画个圆,并在圆周上标八个点(为了我说得明白,请将这八个点都标上名字,按照时钟位置,依次将12点、3点、6点、9点处分别标为大写的A、B、C、D,再将1、2点、4、5点、7、8点、10、11点之间处分别标为小写的a、b、c、d)。假定圆的直径为400(我推荐这个值,过大过小均不宜),x轴为圆的上端切线,y轴为圆的左侧切线(请注意,我在此处违背常理,把y轴原点以下定为正数,因为 top 的值是越往下越大)。
从这个图以及点的布局看,无须解释,A点的座标是(200,0),B点的座标是(400,200),C点的座标是(200,400),D点的座标是(0,200)。对于a、b、c、d 点的座标确定,我要多说几句了。可不是取中间值啊!例如:如果把 a 点的座标定为(300,100), b 点的座标定为(300,300), c 点的座标定为(100,300), d 点的座标定为(100,100),这四个点就不在圆周上了,与 A、B、C、D 点形成的是矩形轨迹,这当然不是我们所需要的。稍有一点几何知识的人都能很直观的看出,它们的座标应该是 a(350,50),b(350,350),c(50,350),d(50,50)。
座标值确定之后,就可以用到代码当中了,八个小图围成了一个圆。这个圆在页面上十有八九位置不当。而且,它与背景图也不吻合。无论是背景图还是八个小图,都需要重新定位。首先是把背景图定位好,然后再定位八个小图。给八个小图定位意味着要修改它们的座标,分两步:第一步先修改横座标(即 left 的值),八个小图的 left 值要加减同一个数。横向定位好之后,进行第二步,修改纵座标(即 top 的值),当然也是八个小图的 top 值要加减同一个数啦!修改座标,谁先谁后均可。