Balkendiagramm mit CSS, verschoben
Hallo,
ich arbeite gerade an einem Balkendiagram, welches ich mit CSS realisiert habe. Dabei werden die Daten aus einer MySQL Datenbank gezogen. Es sieht soweit alles sehr gut aus...nur zerhaut mir das Layout etwas. Und zwar sind die Balken um ein "Feld" nach links verschoben wie im Bild zu sehen ist. Leider finde ich den Fehler nicht. Die Balken sollten eigentlich genau über den Monaten angezeigt werden. Vielleicht erkennt hier jemand den Fehler und könnte mir kurz helfen. http://s7.directupload.net/images/120901/96urnm33.png Der Quellcode zu dem ganzen: PHP-Code:
Code:
#archives { |
Die vorliegenden Informationen reichen nicht aus, um dir helfen zu können.
Bei Problemen wie diesem ist das verwendete Backend (PHP, MySQL) irrelevant. Wichtig ist dagegen der ausgegebene HTML-Code (und das dazu passende CSS), mit dem der Fehler nachvollzogen werden kann. Ich kann dir daher nur einen allgemeinen Ratschlag geben: Die gezeigten Informationen solltest du ein einer (HTML-)Tabelle ablegen, so dass die Monatsangaben (th-Elemente) mit den dazugehörigen Werten (td-Elemente) verknüpft sind. Damit sparst du dir dieses aufwändige Puzzlespiel in CSS :) Auch weniger Klassen und den Verzicht auf style-Attribute lege ich dir nahe. |
Hey gato,
kein Problem - anbei das ausgelieferte HTML: Und nein Tabellen sind nicht gewünscht :twisted: Eine derartige Struktur ist zwar etwas fummelig, wie du dies bereits festgestellt hast - ist jedoch eine Voraussetzung. Die Styleelemente sind in der Tat sehr unschön, nur weiß ich eben nicht wie ich dies im Moment anders lösen sollte. Ohne auf Frameworks zurück zu greifen. HTML-Code:
<div id="archives"> |
Zitat:
Zitat:
Zitat:
Damit hast ja schon mal begonnen, nur nicht konsequent durchgezogen: #archives beinhaltet nur div-Elemente, diese div-elemente brauchen also keine Klasse (#archives div). Diese div-Elemente enthalten jeweils ein a und ein span-Element. Niemals etwas anderes. Für beide Elemente sind also Klassen unnötig (#archives a bzw. #archives span). Zugegeben, die height-Angabe für die Höhe der Balken wird vermutlich drinbleiben müssen (es ist ein kalkulierbarer Nachteil des Systems). Nun gut, lösen wir mal das Problem. Es liegt darin, dass $i bei -1 zu zählen beginnt (warum auch immer), deshalb wird beim ersten Element für left der Wert -58px eingetragen. Entweder du initiierst $i mit dem Wert 0 oder du rechnest ($width+1)*($i+1). |
Ach verdammte Hacks, die -1. JA war zu Testzwecken in einer Prozedur eingebaut und in einer anderen Funktion generiert worden. Ist mir ja schon fast etwas peinlich :) - Mit einer 0 klappt es natürlich so wie es sollte :)
Dennoch vielen Dank für Deine Analyse und eben den Tipp, den ich suchte. Was Tabellen angeht, nun ja -dies könnte man damit wirklich sehr schnell lösen ich weiß. Nur wenn der "Chef" einem sagt, nix Tabellen - auch wenn diese genau zu dem Zweck verwendet werden sollen...nun ja. Damals noch hat er ganz "tolle" Seiten mit Tabellen gemacht, Heute nicht mehr sagt er...daher kommt der irrglaube denke ich :roll: Jedenfalls vielen Dank für deine Hilfe :) |
Zitat:
Manchmal hilft es dennoch, die Konsequenzen aus der Beratungsresistenz aufzuzeigen. |
Glaub mir, bei dem würde das nichts mehr bringen. Zu oft versucht, zu oft gescheitert - soll er seinen Kunden selbst erklären warum manches durchs Knie ins Auge gemacht wurde ;)
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023