WinFuture-Forum.de: 1px Abstand - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

1px Abstand


#1 Mitglied ist offline   silvanm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 26. März 08
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 27. Januar 2013 - 20:54

Hallo zusammen

Ich habe folgendes Konstrukt:

<div class="rte_line">
  <div class="rte_content">
    <span class="rte_style">Test</span>
  </div>
</div>


Mit den CSS-rules:

.rte_line {
  position: relative;
  height: 19px;
}

.rte_content {
  height: 100%;
}

.rte_style {
  height: 100%;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  color: #42281B;
  background-color: #FFFFFF;
}


Wenn ich nun im Chrome-Debugger die einzelnen Nodes anschaue, hat die äusserste div mit der Klasse "rte_line" eine Höhe von 19px, rte_content auch noch, doch der span der Klasse "rte_style" ist nur noch 18px hoch. Wisst ihr, woher diese Differenz kommt?

Lg Silvan
0

Anzeige



#2 Mitglied ist offline   Lindheimer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 272
  • Beigetreten: 28. Oktober 10
  • Reputation: 8
  • Geschlecht:Männlich
  • Wohnort:Rhein-Main

geschrieben 28. Januar 2013 - 10:43

warum das so ist kann ich nicht eindeutig beantworten. aber vielleicht hilft es ja wenn du border auf 0 setzt oder das span ebenfalls auf 19px setzt:

.rte_style {
...
border: 0;
height: 19px;
}


Zitat

Homer: „Warum passieren mir immer nur Dinge, die sonst nur dämlichen Menschen passieren?!“
0

#3 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.339
  • Beigetreten: 08. April 06
  • Reputation: 888
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 28. Januar 2013 - 16:50

Beitrag anzeigenZitat (silvanm: 27. Januar 2013 - 20:54)

Wenn ich nun im Chrome-Debugger die einzelnen Nodes anschaue, hat die äusserste div mit der Klasse "rte_line" eine Höhe von 19px, rte_content auch noch, doch der span der Klasse "rte_style" ist nur noch 18px hoch. Wisst ihr, woher diese Differenz kommt?

Lg Silvan


  • Die "Mutter-DIV" hat 100%
  • Die "Kinder-DIV" hat 100% innerhalb der 100% der Mutter.
  • Die Mutter-DIV hat aber standardmäßig einen Rahmen von 1PX.
  • Das "Kind" hat somit 100% - 1PX (genaugenommen sogar "-2PX" da natürlich an beiden Enden 1PX fehlen wird.


Meine Erfahrung: "Mutter-DIV"'s nicht prozentual angeben. Dann gibt es solche Kinderkrankheiten nicht ^_^ (irgendwie hier eindeutig-zweideutig)

Dieser Beitrag wurde von Stefan_der_held bearbeitet: 28. Januar 2013 - 16:52

0

#4 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.170
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 28. Januar 2013 - 17:53

Also ich würde mal behaupten, es liegt daran, dass span ein Inline-Element ist und die Höhe in erster Linie von der Größe der Schrift abhängt, die da drin ist.
Probier doch anstatt span an der Stelle auch mal div oder versuche es mal beim span mit display:block;

Dieser Beitrag wurde von Holger_N bearbeitet: 28. Januar 2013 - 17:55

Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
1

#5 Mitglied ist offline   silvanm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 26. März 08
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 30. Januar 2013 - 19:16

Vielen Dank, ich habe mit den Antworten die Lösungen gefunden: Ich habe die Schrift auf 16px Höhe festgelegt, worauf sich der Span tatsächlich mit je 1px Rand auf 18px gestellt hat, unabhängig von meiner "height:100%"-Angabe. Somit habe ich die Höhe der äussersten divs einfach auch auf 18px angepasst.

Lg Silvan
0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 02. Februar 2013 - 16:34

Wie Holger schon geschrieben hat, die eigentliche Erklärung dafür ist, dass span ein Inline-Element ist. Bei Inline-Elementen greift eine Höhenangabe nicht (Ausnahmen wie img oder input bestätigen die Regel). Dass der span einen Pixel kleiner ist, als das umliegende div ist somit "Zufall". display:block bei einem span zu verwenden, würde ich allerdings nicht empfehlen, da es nicht semantisch ist. Da kann man direkt ein div-Element nehmen.
0

#7 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.170
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 02. Februar 2013 - 18:17

Was soll denn eigentlich das Ergebnis sein? Wenn das ganz äußere div ein feste Höhe hat und alle Elemente darin 100% Höhe haben und die Schrift auch eine feste Größe hat dann wirkt sich das Problem in dem Beispiel doch nur auf die Hintergrundfarbe des span-Elementes aus. Für den Rest spielt es doch keine Rolle, dass height auf span keine Wirkung hat. Wenn man da statt dem span einfach dem übergeordneten div die Hintergrundfarbe zuweist, dann müßte man doch auch haben was man will.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0