Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[Gelöst] Margin, padding, what the Hell?! --- CSS Profi gesucht!

Eingetragen von Gork (225)
am 16.06.2010 - 11:13 Uhr in
  • Allgemeines zu Drupal

Hi,

ich schnall grad nicht warum Herr Margin und Frau Padding mich verscheissern wollen:

Normal soll Margin ja den Außenabstand angeben, tut er aber scheinbar nur wenn er Lust hat.
Ich habe 3 Blöcke die ich untereinander anzeigen lasse. Diese habe ich im oberen Bild (Anhang) mal farbig markiert um es zu verdeutlichen. Der Abstand soll immer gleich sein.

Aus dem CCS (siehe unten):

.group-specification h2 {font-size:1.3em; font-weight:normal; clear:left; MARGIN-top:1.5em;}   <<<<---- Hier
.group-product-details h2 {font-size:1.3em; font-weight:normal; clear:left; MARGIN-top:1.5em;}    <<<<---- Hier

Nun habe ich es mit Margin und auch padding gemacht. Eigentlich sollte Margin ja richtig sein, dann rutscht aber der untere Block mit den Produktdetails hoch an die Spezifikationen (siehe Bild).

Nehme ich hingegen für beide Zeilen Padding habe ich oben zu viel Luft zwischen den Auszeichnungen und den Spezifikationen (siehe Bild)..

Die Lösung die funktioniert: Oben Margin, unten Padding, aber - WARUM GEHTS NUR SO?!?

Weiß einer die Lösung für dieses große Rätsel aus der Geschichte der Menschheit?











Hier der relevante Teil der Seite:
(ich habe Teile mal durch "..." ersetzt damits übersichtlicher wird)

<div class="fieldgroup group-auszeichnungen">
   <h2>Auszeichnungen</h2>
   <div class="content">
      <div class="field field-type-filefield field-field-testlogo">
         <div class="field-label">Testlogo: </div>
         <div class="field-items">
            <div class="field-item odd">.....</div>
            <div class="field-item even">.....</div>
            <div class="field-item odd">.....</div>
         </div>
      </div>
   </div>
</div>

<div class="fieldgroup group-specification">
   <h2>Spezifikationen</h2>
   <div class="content">
      <div class="field field-type-text field-field-max-amp">.....</div>
      <div class="field field-type-text field-field-amp-type">.....</div>
      <div class="field field-type-text field-field-frequency-range">.....</div>
      <div class="field field-type-text field-field-sn-ratio">.....</div>
      <div class="field field-type-text field-field-network-conn">.....</div>
      <div class="field field-type-text field-field-display">.....</div>
      <div class="field field-type-text field-field-connectors">.....</div>
      <div class="field field-type-text field-field-voltage">.....</div>
      <div class="field field-type-text field-field-size">.....</div>
      <div class="field field-type-text field-field-weight">.....</div>
   </div>
</div>

<div class="fieldgroup group-product-details">
   <h2>Produktdetails</h2>
   <div class="content">
      <div class="field field-type-text field-field-zubehoer"></div>
      <div class="field field-type-number-decimal field-field-ean"></div>
      <div class="field field-type-number-decimal field-field-uvp"></div>
   </div>
</div>





Hier mein CSS:
(welches man sicher optimieren könnte wenn man es besser kann als ich, ich weiss)

/* Auszeichnungen */
.group-auszeichnungen h2 {font-size:1.3em; font-weight:normal; clear:left; margin-top:1.5em;}
.group-auszeichnungen .field-label {display:none;}
.group-auszeichnungen .field-item {display:inline;}

/* Spezifikationen */
.group-specification .field-item.odd {}
.group-specification .field-item.odd .field-label-inline-first {float:left; clear:left; width:170px; font-weight:normal;}

.group-specification {width:95%;}
.group-specification h2 {font-size:1.3em; font-weight:normal; clear:left; margin-top:1.5em;}

.group-specification .field-field-max-amp {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-amp-type {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-frequency-range {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-sn-ratio {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-network-conn {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-display {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-connectors {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-voltage {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-size {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-specification .field-field-weight {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd; border-bottom: 1px solid #bbb;}

/* Produktdetails */
.group-product-details .field-item.odd {}
.group-product-details .field-item.odd .field-label-inline-first {float:left; clear:left; width:70px; font-weight:normal;}

.group-product-details {width:95%;}
.group-product-details h2 {font-size:1.3em; font-weight:normal; clear:left; padding-top:1.5em;}

.group-product-details .field-field-zubehoer {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-product-details .field-field-ean {float:left; width:100%; background-color:#fafafa; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
.group-product-details .field-field-uvp {float:left; width:100%; background-color:#f4f4f4; padding:0em 0.5em; border-right: 1px solid #bbb; border-left: 1px solid #ddd; border-top: 1px solid #ddd; border-bottom: 1px solid #bbb;}

.group-product-details .content {margin-bottom:8em;}

AnhangGröße
Abstand.png51.01 KB
‹ Meine Startseite ist nicht erreichbar, weil in der URL /en statt /de beim Klicken auf den Link Startseite erscheint [gelöst ]Upload Limit Problem ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

CSS für <div> ändern

Eingetragen von Frank Ralf (2135)
am 16.06.2010 - 12:46 Uhr

Dein CSS oben bezieht sich nur auf die H2-Überschriften innerhalb der Blöcke, die mit DIVs angegeben sind. Probier mal, die Ränder für die DIVs zu ändern statt für die Überschriften. Firebug hilft dir dabei.

Unter Umständen kann es auch am Browser liegen, die sind manchmal recht eigenwillig, wenn mehrere Angaben für Ränder aufeinander treffen (vor allem IE).

Resourcen für den Theming-Ninja ist auch recht nützlich.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also wenn ich es so

Eingetragen von Gork (225)
am 16.06.2010 - 15:19 Uhr

Also wenn ich es so mache:

.group-product-details {width:95%; margin-top:1.5em;}

Gehts definitiv auch nicht. Egal ob Margin oder Padding, dann rutscht es ran.

Ich habe das Pendant zu Firebug für Opera und habe damit auch schon vorhin die ganze Zeit gesucht, aber werd nicht schlau draus.

Ich habe den Eindruck als wenn die Feldgruppe Produktdetails direkt hinter der Überschrift der Feldgruppe Spezifikationen (darüber) beginnt, er also die Inhalte der Feldgruppe Spezifikationen außen vor lässt und diese Felder garnicht beachtet, wenn er den Rand berechnet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Link zu Testsite?

Eingetragen von Frank Ralf (2135)
am 16.06.2010 - 19:15 Uhr

So was lässt sich am besten am lebenden Objekt klären. Hast du einen Link zu einer Testsite?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es läuft ja wenn ich es

Eingetragen von Gork (225)
am 17.06.2010 - 10:14 Uhr

Es läuft ja wenn ich es jeweils entsprechend einstelle (oben margin unten padding), ich würde nur gern verstehen warum, damit ich beim nächsten mal das ganze besser machen kann und sowas vermeide.

Wenn es nicht zu viel Unstände macht, kann ich Dir gern den Link per PM senden, da es keine Testseite ist, aber kommst Du dann auch an die CSS Daten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, mit FF und Firebug!

Eingetragen von r4s6 (1383)
am 17.06.2010 - 10:18 Uhr

Mit Firebug kann man das, sollte auch mit Dragonfly kein Problem sein, dis CSS Daten auszulesen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich würde auch gerne mal eine

Eingetragen von monsi (200)
am 17.06.2010 - 10:25 Uhr

ich würde auch gerne mal eine testeseite sehen ... dann könnten wir es auch besser nachvollziehen :-)

monsi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab Frank mal die Daten

Eingetragen von Gork (225)
am 18.06.2010 - 08:43 Uhr

Ich hab Frank mal die Daten geschickt.

Ich habe mir das mit dem Dragonfly schon alles angesehen, aber werde nicht wirklich schlau draus (* also ich werde nicht schlau draus wo der Fehler liegt), weil ich kein CSS Profi bin ;=)

  • Anmelden oder Registrieren um Kommentare zu schreiben

würdest dus mir bitte auch

Eingetragen von monsi (200)
am 18.06.2010 - 08:50 Uhr

würdest du's mir bitte auch mal schicken? :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erst mal warten was der gute

Eingetragen von Gork (225)
am 18.06.2010 - 11:43 Uhr

Erst mal warten was der gute Frank sagt ;=) Ich will die Seite wie gesagt nicht so öffentlich machen zzt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

noch nix

Eingetragen von Frank Ralf (2135)
am 18.06.2010 - 12:31 Uhr

Hab schon mal einen schnellen Blick drauf geworfen, aber noch nichts gefunden :-(

Welches Theme nimmst du denn?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist Danland. Keine

Eingetragen von Gork (225)
am 18.06.2010 - 13:58 Uhr

Das Theme ist "Danland".

Keine Hektik, wie man sieht hab ich ja eh noch ne Menge zut tun ;=)
Schonmal von Mir ein schönes Wochenende!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dem Rätsel auf der Spur...

Eingetragen von Frank Ralf (2135)
am 19.06.2010 - 13:46 Uhr

Ich hab probeweise mal das folgende CSS ergänzt, um zu sehen, wie sich die fraglichen Elemente ins Layout einfügen:

.group-specification {
background-color: orange;
}

.group-product-details {
background-color: lime;
}

Wie man sieht, fängt das untere DIV gar nicht direkt unter der Tabelle an, sondern viel weiter oben. Wenn du margin-top nur groß genug machst, funktioniert das auch hier. Aber wahrscheinlich ist padding dann doch die bessere Lösung.

Bei so vielen verschachtelten DIVs, die dann auch noch per "float" positioniert sind, ist es manchmal schwierig, den Überblick zu behalten, welches an welcher Stelle kommt.

Wenn man testweise mal das float für das obere Feld deaktiviert, sieht's genau andersrum aus:

Zitat:

If the element above the element in question is floated, or absolutely positioned, the top margin will pass through the floated element, because floats and absolute elements are removed from the flow. The margin will only be affected by static elements (or elements for which position is set to relative, and which have no coordinates) in the normal flow of the document—this includes the containing block itself.

http://reference.sitepoint.com/css/margin-top

AnhangGröße
CSS_margin_padding.png 5.45 KB
CSS_ohne_float.png 3.81 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ungeclearter Float

Eingetragen von intervisual (88)
am 19.06.2010 - 11:17 Uhr

Das sieht mir ganz stark nach einem ungecleartem Float aus. Gib dem .group-product-details mal ein overflow:hidden mit auf den weg.

Edit: http://j.mp/bgdgme (Clearing floats)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klasse Tipp!

Eingetragen von Frank Ralf (2135)
am 19.06.2010 - 13:43 Uhr

Kannte ich noch nicht. Aber du müsstest das overflow: hidden; für den umgebenden Block setzen, d.h. in der Regel das nächsthöhere Element in der DOM-Hierarchie, in diesem Fall für div.content (ggf. noch etwas präziser auf den Kontext zuschneiden). Das sollte klappen. So sieht's aus, die beiden padding-Anweisungen sind deaktiviert:

AnhangGröße
Overflow-hidden_ohne_padding.png 3.86 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja das hilft recht oft ;) Man

Eingetragen von intervisual (88)
am 19.06.2010 - 14:32 Uhr

Ja das hilft recht oft ;)

Man muss aber aufpassen in welcher Situation man das einsetzt. Das entspricht ja nicht der eigentlich Funktion. Die sagt nämlich dem Client wieder Inhalt behandelt werden soll der nicht in das umgebende Element passt.

Ich meine das gem. der CSS Spezifikation overflow, gefloatete Elemente in das Elternelement einschließen soll wenn Sie einen anderen Wert hat als visible haben. Das müsste ich aber noch mal genauer nachlesen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oha, das entwickelt sich ja

Eingetragen von Gork (225)
am 21.06.2010 - 09:16 Uhr

Oha, das entwickelt sich ja hier zum Expertentreff! Vielen Dank für all die Hilfe!

Sag mir mal eins, wie hast Du denn bitte das CSS "ergänzt" ohne Zugang auf die Seite? Hast Du das irgendwie in deinem Browser mit Firebug gemacht?

Diese Geschichten mit dem float stammen von CCK, ich habe nur die Abstände etc. ergänzt. So wie es im letzten Bild ist, hätte ich erwartet, dass es sich verhält.

Ich werd mal mit dem overflow testen. 100% verstehen tue ich es allerdings noch nicht. Was hat Overflow mit dem Float zu tun?
Wie hätte es denn eigentlich mit dem clear gehen müssen?

EDIT: Ach ich seh grad da war ein Link zum CLEAR. Werd ich mir erstmal ansehen, das beantwortet das wohl dann schon.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah ok! Nun verstehe ich was

Eingetragen von Gork (225)
am 21.06.2010 - 09:27 Uhr

Ah ok! Nun verstehe ich was Sache ist.

Vielen Dank für eure Mühe und den Link, hat mich echt mal wieder ein ganzes Stück weiter gebracht, die Zusammenhänge kannte ich noch nicht!

Da laut dem Link die Variante mit Overflow bei manchen Browsern Konfigurationen vielleicht später nicht astrein läuft, denke ich ich werde es für die fertige Seite einfach so lassen wie es nun ist, aber zumindest bin ich dem Mysterium auf die Spur gekommen und das war ja die Hauptsache!

Vielen Dank nochmal, Ihr seid echt klasse!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht mit FF & FireBug

Eingetragen von r4s6 (1383)
am 21.06.2010 - 10:49 Uhr
Gork schrieb

Sag mir mal eins, wie hast Du denn bitte das CSS "ergänzt" ohne Zugang auf die Seite? Hast Du das irgendwie in deinem Browser mit Firebug gemacht?

Genau so ist das, im FireBug kannst Sozusagen On-The-Fly den CSS-Code verändern. Die Veränderungen siehst Du dann gleich Online. Keine Angst, das sind jeweils nur temporäre (sozusagen lokale Browsereinstellungen) Änderungen, aber FireBug zeigt dir sogar an, in welchem File Du die Änderungen vornehmen musst.

Ich dachte eigentlich mit Dragonfly geht das auch, aber ich habe Opera trotz seines unhemlichen Tempos noch nicht so ausgiebig getestet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja geht auch hab ich grad

Eingetragen von Gork (225)
am 21.06.2010 - 10:56 Uhr

Ja geht auch hab ich grad gesehen, wusste ich nicht, ich benutze es ja erst seit kurzem. Hätte ich das vorher gewusst, hätte ich mir Stunden an Editieren, hochladen, Seite refreshen gespart.... Mist ;=)
Naja nun weiss ich es....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Uff...

Eingetragen von r4s6 (1383)
am 21.06.2010 - 10:59 Uhr

Da binn ich aber froh, dass ich dir damals mit Dragonfly, nicht einen schlechten Rat verpasst habe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, super, das ist echt ne

Eingetragen von Gork (225)
am 21.06.2010 - 13:28 Uhr

Ja, super, das ist echt ne Funktion, welche man mit Nachgucken im Quelltext wohl eher nicht ersetzen kann ;=)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Firefox-Add-on "Stylish"

Eingetragen von Frank Ralf (2135)
am 21.06.2010 - 14:18 Uhr

Als Mittelding zwischen dem flüchtigen Firebug - wo die Änderungen verloren gehen, wenn du die Seite wechselst - und einer permanenten Änderung deiner CSS-Dateien bietet sich Stylish an. Damit kannst du allen Webseiten dein eigenes CSS aufdrücken!

Und dann gibt's da noch FireFile

Zitat:

FireFile ist eine Firebug- Erweiterung, die es ermöglicht, mit Firebug bearbeitete CSS- Dateien live am server zu speichern. So wird Firebug zum ultimativen CSS- Editor mit Live- Preview.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja nur leider nicht für

Eingetragen von Gork (225)
am 23.06.2010 - 10:47 Uhr

Naja nur leider nicht für mich als alten Opera-Fan :D

Aber auch so ist es ja schon ne super erleichterung mit Dragonfly.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Trend geht zum Zweitbrowser ;-)

Eingetragen von Frank Ralf (2135)
am 23.06.2010 - 11:04 Uhr

kost ja auch nix

  • Anmelden oder Registrieren um Kommentare zu schreiben

;=)

Eingetragen von Gork (225)
am 25.06.2010 - 09:05 Uhr

;=)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 6 Wochen 6 Tagen
  • Hey danke
    vor 7 Wochen 5 Stunden
  • Update: jetzt gibt's ein
    vor 7 Wochen 23 Stunden
  • Hallo, im Prinzip habe ich
    vor 7 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 7 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 8 Wochen 2 Tagen
  • In der entsprechenden View
    vor 8 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 8 Wochen 2 Tagen
  • gelöst
    vor 10 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 11 Wochen 5 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20460

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 13 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association