2014-10-03 28 views
0

我需要一個代碼,允許我在另一個圓圈內插入任意數量的os圓圈,保持小圓圈均勻分佈。如何通過css/js將N個圓圈分佈到另一個圓的內部邊界?

使用border-radius: 50%; 創建圈子紅圈內會有文字。是的我知道。這很複雜。

預期的組織可能是以下幾點:

circles inside circles

+0

簡單的數學 - 極座標。整個圓是2 * pi,所以每個圓之間的角度應該是2 * pi/N – Cheery 2014-10-03 17:30:09

+0

您可以添加一些關於您已有的代碼的更多上下文嗎?即使只是定義圓圈有多大的代碼以及在給定座標處繪製圓圈的函數。在這一點上,解決方案就是簡單地找出座標,這是某人可以提供的答案。 – 2014-10-03 17:30:44

+0

但如何使用HTML元素的極座標?我在考慮使用position:absolute,left:xxx,top:yyy表示te紅色。 – Webill 2014-10-03 17:37:51

回答

3

由於某種原因,我不能在這裏插入片段,所以http://jsfiddle.net/vr60dLth/

HTML

<div class='back'></div> 

CSS

jQuery的

var N = 8, pi = Math.PI, backR = 100, frontR = 15, radius = 70; 

$('.back').width(backR * 2).height(backR * 2); 

for(var angle = 0; angle < 2 * pi; angle += 2 * pi/N) 
{ 
    var s = $('<div class="front">').css({ 
     left: backR - frontR + radius * Math.cos(angle) + 'px', 
     top: backR - frontR + radius * Math.sin(angle) + 'px', 
     width: frontR * 2 + 'px', 
     height: frontR * 2 + 'px' 
    }); 
    $('.back').append(s); 
}