Snotty: Problem mit Zeileneinzug

Hallo,

Ich versuche seit einiger Zeit erfolglos, mein CSS so zu konfigurieren, dass bei jedem <br /> die neue Zeile einen Einzug erhält.

Mit dem P-Element war es kein Problem:

#inhalt p {
        font-family: Verdana, sans-serif;
        font-size: 1.05em;
        text-indent: 1.5em;
}

Allerdings will ich eben auch bei jedem manuell eingefügten Absatz einen Einzug.

Kann man das irgendwie einstellen oder anders lösen? Es darf vor dem Absatz auf jeden Fall keine Leerzeile kommen, wie das bei einem P-Element üblich ist.

Vielen Dank!
Snotty

  1. Hallo,

    Allerdings will ich eben auch bei jedem manuell eingefügten Absatz einen Einzug.

    Spontan würde ich dafür eher in CSS eine eigene p-class für solche Absätze schreiben.

    Grüße
    Thorsten

    1. Stimmt, ich konnt mit margin

      margin-bottom: 0;
        margin-top: 0;

      den Absatz beim normalen <p> entfernen. Jetzt hab ich's wie ich's will, denn die Leerzeile beim Absatz (wenn ich eine will) kann ich ja einfach durch ein <br /> einfügen.

      Oder gibt es noch eine sauberere Variante, eine Leerzeile einzufügen?

      Diese Lösung gefällt mir dann besser als die mit einem extra definierten zweiten P-element.

      Vielen Dank für die Hilfe
      Snotty

      1. Hi!

        Diese Loesung gefaellt dir vielelicht besser, aber sie ist... oehm... wenig gut. Natuerlich kann man zwei <p> mit einem <br> (eher 2 davon...) trennen. Ein <br> dient aber eigentlich dem Zeilenumbruch im Fliesstext. Dein Code waere damit ziemlich unsauber. Was spricht denn gegen ein normales <p> und eines ohne Abstand?

        1. Dagegen spricht, dass ich mir das nicht so richtig vorstellen kann. Ich habe jetzt das P ohne Abstand einfach <p> genannt.
          Dann könnte ich wohl ein neues P, ein "normales", im CSS definieren, das könnte ich dann beispielsweise <pp> nennen, wenn ich das richtig verstanden habe?!

          Wie mache ich dann aber nun das mit dem Absatz der ein Leerzeichen am Schluss haben soll?

          Einfach am Schluss ein leeres <pp></pp> einfügen? Wäre wohl auch sehr unsauber.

          Oder schließe ich dann einfach den Abschnitt, der am Ende den Absatz haben soll, in den neuen pp-Tag ein?

          Wäre für meine Begriffe im Quelltext zumindest unübersichtlicher als ein "missbrauchtes" <br />.

          Wobei ich nach meiner Theorie ja auch das <p> schon missbrauchen würde, nämlich als "Ersatz"-<br />...

          1. Hello out there!

            Dann könnte ich wohl ein neues P, ein "normales", im CSS definieren, das könnte ich dann beispielsweise <pp> nennen, wenn ich das richtig verstanden habe?!

            Nein, du kannst nicht HTML um eigene Elemente erweitern.

            Du kannst aber vorhandenen Elementen Klassenzugehörigkeiten mitgeben und diese mittels CSS-Klassenselektor verschieden formatieren. [SELFHTML]

            Trenne dich von der Vorstellung, du würdest HTML-Elemente in Hinblick auf die gewünschte Darstellung verwenden. Mit HTML beschreibst du die Struktur deines Dokuments (Überschriften, Textabsätze, Listen, Tabellen, ...). _Danach_ formatierst du diese mit CSS.

            Wenn du mehrere Textabsätze hast, dann zeichenst du sie alle mit dem 'p'-Element aus, unabhängig von der gewünschten Darstellung.

            Sollten die Textabsätze unterschiedlicher Art sein, versiehst du die 'p'-Elemente mit 'class'-Attributen. Die Benennung der Klassen ist dabei auch möglichst nicht in Hinblick auf die gegenwärtig(!) gewünschte Darstellung zu wählen (also nicht "mitAbstand", "ohneAbstand"), sondern in Hinblick auf die gemeinsame Funktion der Elemente der Klasse ("Hinweis", "Fehlermeldung", ...).

            Wobei mir nicht klar ist, warum du solche Absätze mit Abstand und solche ohne haben willst. Vermutlich stimmt da was an der Auszeichnung des Inhalts nicht. Lass mal sehen!

            See ya up the road,
            Gunnar

            --
            „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
  2. Hi!

    Dein Vorhaben, ein <br> dazu zu bringen soetwas zu machen, duerfte ziemlich unmoeglich sein.

    Hier stellt sich aber die Frage, warum du das willst und was gegen ein <p> einzuwenden ist. Vielleicht hilft es dir, zu wissen, dass du fehlinformiert bist und es keine Leerzeile vor einem <p> gibt. Dabei handelt es sich lediglich um einen Abstand (margin) den man gemuetlich mit CSS entfernen kann.