zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Probleme mit Text-Layout per vertical margin

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 08.10.2007, 16:03
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2006
Beiträge: 60
white57 befindet sich auf einem aufstrebenden Ast
Standard Probleme mit Text-Layout per vertical margin

hi all,

es ist ja normal, dass man seinen ((X)HTML)-Test in Überschriften, Paragraphen und andere Blockelemente unterteilt (Blockquotes, Tabellen, Listen, ...)

Ich mach das immer in etwa so:

Code:
    p, ul, ol, dl, dir, menu, table, form, fieldset, pre, blockquote, .box
      { margin:1em; margin-right:0; }
    
    table, form, p { margin-left:0; }

    h1, h2, h3, h4, h5, h6 {
        margin:2em 0 1em 0;
    }
Der Abstand von Absatz zu Absatz ist also geringer als der zwischen letztem Absatz eines Abschnitts und der Überschrift des nächsten Abschnitts.

Die Probleme, die sich mir nun stellen:
  • Das margin-top sorgt dafür, dass auch das erste element innerhalb eines containers einen abstand nach oben hat und daher ein rand entsteht, den ich aber nicht will. die einzige idee, die mir hier kommt, wäre ein negatives padding-top, was aber ja offiziell noch nicht einmal existiert (AFAIK). und selbst das scheitert daran, dass ich nicht genau sagen kann, ob das erste element im container eine überschrift oder ein absatz ist.
  • auch wenn ein wenig whitespace mehr am anfang des textes noch zu verkraften wäre, stellt sich das gleiche problem innerhalb von text-block-elementen wie blockquotes. hier ist auch immer ein hässlicher rand oben und unten festzustellen, wenn ein weiteres element, zum beispiel ein <p> enthalten ist, was sich ja nicht vermeiden lässt (laut (X)HTML Strict Specification)

übersehe ich hier etwas? wie macht ihr das normalerweise?
__________________
Gruß,
Niklas

The Place To Be
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 08.10.2007, 16:12
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.849
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Das muß man individuell anpassen - wenn z.B. jede h3 innerhalb eines Textes einen Abstand nach oben haben soll, aber die erste nicht, mußt Du Dein CSS entweder geschickt schreiben (h3 ohne margin-top und den Abstand z.B. durch margin-bottom von p erzeugen, der auf jede h3 ausgenommen der ersten wirkt), oder notfalls eine Klasse vergeben, was ich aber vermeiden würde.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 08.10.2007, 16:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2006
Beiträge: 60
white57 befindet sich auf einem aufstrebenden Ast
Standard

ok, soweit die überlegungen, die ich auch schon gemacht hatte. zum thema geschicktes css schreiben: da fehlen mir die selektoren für (z.b. der "element + element" selektor wird ja nicht ausreichend unterstützt).

es läuft also darauf hinaus, dass man immer dem ersten kind die klasse "first" und dem letzten "last" geben muss (weil ja auch :last-child und :first-child nicht richtig unterstützt werden). in verbindung mit authoring-systemen unmachbar? geht das wirklich nicht eleganter?
__________________
Gruß,
Niklas

The Place To Be
Mit Zitat antworten
  #4 (permalink)  
Alt 08.10.2007, 16:41
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.849
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von white57 Beitrag anzeigen
es läuft also darauf hinaus, dass man immer dem ersten kind die klasse "first" und dem letzten "last" geben muss
Nein, die Alternative ohne Klasse habe ich beschrieben, und das klappt auf meinen Websites fast überall.
Mit Zitat antworten
  #5 (permalink)  
Alt 08.10.2007, 17:13
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2006
Beiträge: 60
white57 befindet sich auf einem aufstrebenden Ast
Standard

aber es ist doch so, dass man dann einen einheitlichen margin-bottom für alle elemente einschließlich überschriften setzen muss. ist es auch möglich, den abstand zwischen überschrift und absatz größer zu machen als den zwischen 2 absätzen?
__________________
Gruß,
Niklas

The Place To Be
Mit Zitat antworten
  #6 (permalink)  
Alt 08.10.2007, 17:15
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.849
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Natürlich, per margin-bottom für die Überschift.
Mit Zitat antworten
  #7 (permalink)  
Alt 08.10.2007, 17:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2006
Beiträge: 60
white57 befindet sich auf einem aufstrebenden Ast
Standard

ich meine natürlich, dass überschrift und vorhergehender absatz einen größeren Abstand haben als aufeinanderfolgende absätze.

Entschuldigung
__________________
Gruß,
Niklas

The Place To Be
Mit Zitat antworten
  #8 (permalink)  
Alt 09.10.2007, 00:02
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.849
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

In diesem Falle mußt Du dann doch mit einer Klasse arbeiten, oder Du setzt dort eine per visibility: hidden; unsichtbar gemachte hr ein (die vor einer neuen Überschrift semantisch durchaus legitim ist, auch wenn der Nutzer eines grafischen Browsers sie letztlich nicht zu sehen bekommt).
Mit Zitat antworten
  #9 (permalink)  
Alt 09.10.2007, 18:19
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2006
Beiträge: 60
white57 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von heiko_rs Beitrag anzeigen
In diesem Falle mußt Du dann doch mit einer Klasse arbeiten, oder Du setzt dort eine per visibility: hidden; unsichtbar gemachte hr ein (die vor einer neuen Überschrift semantisch durchaus legitim ist, auch wenn der Nutzer eines grafischen Browsers sie letztlich nicht zu sehen bekommt).
hm hatte ich mir schon gedacht. danke trotzdem.
__________________
Gruß,
Niklas

The Place To Be
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit einem 3D-Effekt moep0710 CSS 12 12.06.2010 15:30
Zeilenabstand bei font-Angabe wieder weg nick CSS 7 16.02.2008 15:39
Floats verschwinden im nichts, Fließer überdecken Floats. nick CSS 5 09.02.2008 15:34
Falsche Darstellung beim Internet Explorer LordAvalon CSS 4 09.04.2007 17:22
Problem: Überschrift <hx> innerhalb von Abschnitt <p> Ares CSS 7 24.10.2006 14:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.