2009-05-28 10 views

Antwort

0

Dies ist eigentlich ziemlich einfach weg zu ziehen . Sie möchten, dass jeder Balken durch einen einzigen dargestellt wird. Setzen Sie das div auf die gewünschte Breite (proportional zu den Ergebnissen). Wenn Sie beispielsweise 200px als "100%" der Abstimmung festlegen möchten, dann muss 23% der abgegebenen Stimmen eine .23 * 200 als Pixelbreite des div.

Legen Sie dann die Hintergrundfarbe und den Rahmen fest, um die Leiste nach Ihren Wünschen zu gestalten. Sie können auch Phantasie und verwenden Bilder (Hintergrundbild CSS-Eigenschaft), um schöner aussehende Balken zu bekommen.

Ich hoffe, dass Sie in die richtige Richtung weist. Hier

+1

Wenn Sie 23% Breite wollen, warum nicht einfach eingestellt Breite bis 23%? : p – peirix

+0

Manchmal vermisst man das Offensichtliche, vor allem vor ihrem morgendlichen Kaffee: p Obwohl in der Fairness Prozentsätze für knifflige CSS machen könnte. Ich wollte sicherstellen, dass es klar ist, wie man die relative Breite berechnet. –

+0

, weil Sie es dynamisch mit Back-End-Daten basierend auf der Anzahl der Stimmen wünschen – ahnbizcad

3

ist einige Beispiel-Code:

 <style> 
     .GraphWrapper { 
      width:300px; 
      border:1px solid #DDDDDD; 
     } 

     .BlueBar { 
      height:30px; 
      margin:10px 0px 10px 0px; 
      background-color:#FFCCCC; 
     } 

     .RedBar { 
      height:30px; 
      margin:10px 0px 10px 0px; 
      background-color:#CCCCFF; 
     } 
    </style> 

    <div class='GraphWrapper'> 
     <div class='BlueBar' style='width:50%;'></div> 
     <div class='RedBar' style='width:75%;'></div> 
    </div> 

Sie können dann bearbeiten Sie die Breite Stil Ihrer Diagrammbalken die Grafik Prozentsatz zu erreichen.

0

Ich weiß, das ist eine alte Frage, aber neue Technologie hat eine neue Lösung zur Verfügung gestellt. Außerdem wird keine der Antworten akzeptiert ...

In HTML5 können Sie eine canvas element verwenden, um Ihr Diagramm tatsächlich zu zeichnen. Die Verwendung des canvas-Elements kann sehr komplex sein, daher werde ich hier nicht detailliert darauf eingehen, wie Sie dieses für Ihr spezifisches Szenario verwenden können.

aber hier ist ein einfaches Beispiel (kopiert von diveintohtml5.info):

HTML

<canvas id="graph" width="300" height="225"></canvas> 

JavaScript

var canvas = document.getElementById("graph"); 
var context = canvas.getContext("2d"); 
context.fillRect(50, 24, 150, 100); 
Verwandte Themen