Anzeigeproblem Grafik rechts, restlicher Inhalt links
am 17.12.2012 - 23:10 Uhr in
Hallo zusammen,
Entschuldigung, ich bin ein Noob ;-)
Ich kämpfe seit gestern mit einem Problem, dem ich nicht Herr werde daher möchte ich mich an euch wenden. Ich habe einen Inhaltstyp "Charakterwerte" der ein paar öffentliche Felder hat und ein paar die zugangsbeschränkt sind. Im Moment werden die Elemente wie in Drupal üblich untereinander dargestellt. Das verschenkt aber eine Menge Platz weshalb ich gerne die Grafik nach rechts packen würde, während der Text links vorbei läuft. Meine Charakterwerte.tpl sieht an der Stelle folgendermaßen aus:
<div class="content">
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
</div>
Ich hatte unterschiedliche Spielarten, zum Teil habe ich darüber eine neue class "img" eingebaut, mal rausgelassen, einfach ein wenig experimentiert. Die CSS sieht folgendermaßen aus:
/* CONTENT layout */
#content {
float:left;
max-width: 100%;
min-width: 70%;
padding-bottom: 2em;
}
#content img {
float:right;
max-width: 30%
}
Ich hatte hier auch mit Padding und Margin herumprobiert - ohne Erfolg.
Mein Problem ist jetzt, dass das Bild zwar rechts angezeigt wird, aber links der Text nicht sauber dran vorbeiläuft. Das bedeutet: Links steht das erste Feld (oben), rechts die Grafik, allerdings folgt das nächste Feld nicht nach einem Zeilenumbruch links sondern erst nach Abschluss des Bildes wieder links. Ansehen kann man sich das Ganze im Moment hier. Ich weiß dass man bei float eigentlich eine width mitgeben sollte, also habe ich es mit max-width versucht, was nicht so toll funktioniert hat. Also habe ich mir auch noch mit min-width beholfen. Mein Problem bleibt aber leider bestehen.
Ich habe die betreffenden Dateien aus dem Deco-Template mal angehängt. Ich hab wahrscheinlich einen komplett falschen Ansatz, daher möchte ich euch um Hilfe bitten. Vielen Dank!
EDIT: In der View scheint das rechts formatieren prima zu klappen, dafür geht das Links wiederrum nicht. Da muss ich wohl ne eigene CSS anhängen,weil da will ichs eigentlich umgekehrt ;-)
Anhang | Größe |
---|---|
node-php-und-layout-css.zip | 2.04 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Befasse Dich mal mit den
am 18.12.2012 - 00:01 Uhr
Befasse Dich mal mit den Möglichkeiten der [do:ds Display Suite].
Beste Grüße
Werner
Hallo wla, vielen Dank für
am 18.12.2012 - 00:19 Uhr
Hallo wla,
vielen Dank für den Tipp. Ich habe noch ein bisschen mit der Formatierung herumgespielt. Irgendwie scheint er es bei Textfeldern nicht zu mögen, wenn das Label Inline ist.
Hallo Werner, ich bin mit dem
am 19.12.2012 - 13:31 Uhr
Hallo Werner,
ich bin mit dem Display Manager nicht zurecht gekommen. Die Layouts sind ja sehr starr. Allerdings habe ich festgestellt, das das Layout schlicht eine Inline-Anordnung der Labels nicht mag. Stelle ich diese auf "oberhalb" funktioniert alles prima.
Ich halte die Möglichkeiten
am 19.12.2012 - 14:02 Uhr
Ich halte die Möglichkeiten der Display-Suite bei Deinen Anforderungen für ausreichend. Es kann dann noch nötig werden, mit CSS ein wenig nach zu helfen.
Du hast bei der Display Suite die Möglichkeit, Deine Felder in Gruppen zusammenzufassen (links, mitte, rechts) oder auch nur 2 Spalten zu nehmen. Dann kommt die Grafik in die eine Spalte, der Rest in die andere. Bei Grafiken stören mich die Labels ohnehin und ich lasse die weg. Allenfalls eine Bildunterschrift kann dann noch sinnvoll sein. Du mußt allerdings schon dafür sorgen, wenn Du Inline-Label nimmst, daß der Platz für Label und Inhalt ausreicht. Sonst kann ich von Deiner Aufgabenstellung her nichts problematisches erkennen.
Beste Grüße
Werner
Ich habe mich blöd
am 19.12.2012 - 14:11 Uhr
Ich habe mich blöd ausgedrückt. Ich versuchs nochmal:
Ich danke dir für deinen Hinweis. Das Layout der Display Suite war mir für meine Verwendung (und mein laienhaftes Verständnis) allerdings zu starr. Ich habe mein Problem aber dadurch lösen können, die Anzeige der Labels entweder auszublenden oder von Inline auf Oberhalb umzustellen. Das hat mein Problem gelöst.
Ich danke dir für die Zeit die für die Hilfe investierst hast und ich werde die Display Suite sicherlich in Zukunft für andere Dinge seinsetzen (sobald ich ein bisschen besser dahintergestiegen bin).
Frohe Weihnachten ;-)
Gruß
Marc