2014-12-13 3 views
2

학교 과제에 대한 데이터 시각화를 만들고 있습니다. 서로 다른 크기의 원을 그리는 div 요소가 많습니다. 그것들을 서로 옆에 놓을 수 있습니까? 이제 저는 float : left를 사용했습니다. 하지만 div 요소는 1 행에 있고, 하나가 더 크면 공백이 있습니다.서로 옆에있는 서클 DIV 요소

웹 페이지 : http://i290808.iris.fhict.nl/dv3/

예 1 원 HTML :

<div class="circle" style="height: 200px; width: 200px; border: 15px solid rgb(255, 141, 0); background-image: url('http://zapp.trakt.us/images/episodes/9635-4-11.jpg?17'); background-size: cover;"> 
    <div class="circle" style="height: 100%; background-color:rgba(255, 146, 0, 0.4)"> 
     <h2 style="font-size: 25px">New Girl</h2> 
    </div> 
</div> 

(내 PHP 파일에이 정보를 변경해야하기 때문에이 HTML 요소의 스타일 요소가있다)

CSS 파일 :

.circle { 
    border-radius: 100%; 
    display: table; 
    float: left; 
} 

h2 { 
    color: #FFF; 
    text-align: center; 
    vertical-align: middle; 
    display: table-cell; 
} 
+2

링크 또한 죽은 : – Martijn

+0

rendereing, 웹 페이지에 링크를하지 말아주십시오, 왜 헤더'표시입니다 : 테이블 cell'? 블록, 인라인 및 인라인 블록 이외의 것은 빠른 수정이 아니라 실제로 필요할 때만 사용해야합니다. – Martijn

+0

@ 루벤 아래의 답변을 찾아 문제를 해결하는 것으로 표시된 하나를 표시하십시오. –

답변

1

변경 다음과 같은 규칙. 또한

h2 { 
    color: #FFF; 
    text-align: center; 
    vertical-align: middle; 
    transform: translateY(-50%); 
    margin-top: 50%; 
    word-wrap: break-word; 
} 
.circle { 
    border-radius: 100%; 
    display: inline-block; 
    vertical-align: middle; 
} 

, 당신의 .circles이 horiontally #container 사업부의 모든 .circles을 마무리하고 다음 규칙을주고 중앙에.

#container { 
    width: 95%; 
    margin: 0px auto; 
    text-align: center; 
} 

결과는 다음과 같습니다. 이 미래에서 제거 될 수 있으므로

enter image description here

+0

위대한 솔루션이지만 Mac의 Safari에서 제목이 중간에 없기 때문에 Chrome은 훌륭하게 작동합니다. 나는 이것을위한 간단한 해결책이 있기를 바란다. – Ruben

0

d3.js를 사용하는 버블 차트 wil 너의 필요에 가장 잘 어울린다. 당신은 적용 후, 입력 데이터의 모든 어린이에 각각의 경로를 추가 할 수 있고, 각각의 거품에 배경 이미지를 추가에 관한

var data = { 
 
    "name": "animate", 
 
    "children": [ 
 
    {"name": "Easing", "size": 17010}, 
 
    {"name": "FunctionSequence", "size": 5842}, 
 
    { 
 
     "name": "interpolate", 
 
     "children": [ 
 
     {"name": "ArrayInterpolator", "size": 1983}, 
 
     {"name": "ColorInterpolator", "size": 2047}, 
 
     {"name": "DateInterpolator", "size": 1375}, 
 
     {"name": "Interpolator", "size": 8746}, 
 
     {"name": "MatrixInterpolator", "size": 2202}, 
 
     {"name": "NumberInterpolator", "size": 1382}, 
 
     {"name": "ObjectInterpolator", "size": 1629}, 
 
     {"name": "PointInterpolator", "size": 1675}, 
 
     {"name": "RectangleInterpolator", "size": 2042} 
 
     ] 
 
    }, 
 
    {"name": "ISchedulable", "size": 1041}, 
 
    {"name": "Parallel", "size": 5176}, 
 
    {"name": "Pause", "size": 449}, 
 
    {"name": "Scheduler", "size": 5593}, 
 
    {"name": "Sequence", "size": 5534}, 
 
    {"name": "Transition", "size": 9201}, 
 
    {"name": "Transitioner", "size": 19975}, 
 
    {"name": "TransitionEvent", "size": 1116}, 
 
    {"name": "Tween", "size": 6006} 
 
    ] 
 
}; 
 

 

 
var diameter = 960, 
 
    format = d3.format(",d"), 
 
    color = d3.scale.category20c(); 
 

 
var bubble = d3.layout.pack() 
 
.sort(null) 
 
.size([diameter, diameter]) 
 
.padding(1.5); 
 

 
var svg = d3.select("body").append("svg") 
 
.attr("width", diameter) 
 
.attr("height", diameter) 
 
.attr("class", "bubble"); 
 

 
//d3.json("flare.json", function(error, root) { 
 
var node = svg.selectAll(".node") 
 
.data(bubble.nodes(classes(data)) 
 
     .filter(function(d) { return !d.children; })) 
 
.enter().append("g") 
 
.attr("class", "node") 
 
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); 
 

 
node.append("title") 
 
.text(function(d) { return d.className + ": " + format(d.value); }); 
 

 
node.append("circle") 
 
.attr("r", function(d) { return d.r; }) 
 
.style("fill", function(d) { return color(d.packageName); }); 
 

 
node.append("text") 
 
.attr("dy", ".3em") 
 
.style("text-anchor", "middle") 
 
.text(function(d) { return d.className.substring(0, d.r/3); }); 
 
//}); 
 

 
// Returns a flattened hierarchy containing all leaf nodes under the root. 
 
function classes(data) { 
 
    var classes = []; 
 

 
    function recurse(name, node) { 
 
    if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); 
 
    else classes.push({packageName: name, className: node.name, value: node.size}); 
 
    } 
 

 
    recurse(null, data); 
 
    return {children: classes}; 
 
} 
 

 
d3.select(self.frameElement).style("height", diameter + "px");
text { 
 
    font: 10px sans-serif; 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

: 여기

는 작업 코드의 그것은 d3.js를 사용합니다.

Various D3.js Bubble Chart tutorials | Google

+0

이 질문에 대한 답을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. –

+0

이 링크가 질문에 대답 할 수 있지만 여기에 대답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – jproffitt

+0

@ ZachSaucier 지적 해 주셔서 감사합니다. 스 니펫과 관련 콘텐츠의 예를 사용하여 답변을 업데이트했습니다. –

관련 문제