Frage zu Einheiten (CSS): "vh" / "vw" und "em"

  • Hallo,

    sind die Einheiten "vh" und "vw" auch für Schriftgrößen empfehlenswert oder ist die Einheit "em" vorzuziehen?

    Vielen Dank vorab für eure Antwort!

    Bleib(t) gesund!

    Beste Grüße Jörg


    ---

    Ich nutze Zeta Producer Business / Windows 11 (jeweils aktuellste Version)

  • Die Schriftgröße "vw" alleine zu nutzen ist schwierig weil die Schrift dann auf kleinen Bildschirmen nicht mehr lesbar oder auf großen Bildschirmen zu groß dargestellt wird.

    • Ich nutze in meinen Widgets oftmals die Schriftgröße clamp().
    • zum Beispiel: font-size: clamp(1em, 10vw, 5em);
    • Bedeutet: Die Schriftgröße ist 10vw, diese wird nicht kleiner dargestellt als 1em und nicht größer als 5em.

    Über 90% der Browser können das lesen für die restlichen sollte noch eine normale Schriftgröße hinzugefügt werden.

    Also zum Beispiel:

    Code
    font-size: 1.1em;
    font-size: clamp(1em, 10vw, 5em);
  • Hallo Mario,

    herzlichen Dank für die prompte Antwort! :thumbup:

    Bleib(t) gesund!

    Beste Grüße Jörg


    ---

    Ich nutze Zeta Producer Business / Windows 11 (jeweils aktuellste Version)

  • Hallo Mario ,

    ich würde deinen Vorschlag gerne für das gesamte Projekt umsetzen, weiß aber nicht wie (bin CSS-Neuling).

    Ich habe mithilfe des Handbuchs folgende CSS-Formatierung versucht:

    Code
    <style>
    #content body{
        font-size: 1.1em;
        font-size: clamp(1em, 10vw, 5em);
    }
    </style>

    Das klappt nicht. Was mache ich falsch? Kannst du mir bitte helfen?

    Viele Grüße

    Pierre

  • Um die Überschriften H1 bis H4 sowie den Text des gesamten Projektes anzusprechen sollte folgender Code passen. Die Werte musst du natürlich noch anpassen und das ganze dann anschließend mit den verschiedenen Viewports überprüfen.


    Ob das aber in allen Widgets so gut passt bezweifele ich. Deshalb würde ich das so machen.

    Alle Widgets in welchen diese Schriftgrößen übernommen werden sollen erhalten dann die CSS-Klasse: txtclamp

  • [snip

    Nicht em sondern rem für responsive Seiten verwenden!

    [snip]

    Dieser Hinweis ist nicht richtig! Steht auch nirgends im verlinkten Artikel, dass "em" bei responsiven Sites NICHT verwendet werden kann. Allerdings könnte dieser Artikel zu diesem Fazit verleiten, das ist schon so ...

    Beide - "em" sowie auch "rem" - sind grundsätzlich für responsive Seiten verwendbar.

    Wenn schon nur das Eine, dann würde ICH eher "em" bevorzugen ... weil, siehe hier:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Gruss

    Norbert S.

    Zeta Producer (Premium), Win 11 Pro 26H2 [de-CH]
    Für mich DIE Lösung und bietet vorbildlichen Support!

    6 Mal editiert, zuletzt von Alpengreis (20. April 2023 um 00:25)

  • Hallo erstmal...

    Der Kommentar von mir "Nicht em sondern rem für responsive Seiten verwenden!" sollte auch nicht heißen das das der einzig richtige Weg sei.

    Ich wollte nur diesen Artikel beisteuern, da ich mir bis vor vier Wochen noch nie gedanken gemacht habe ob px, em oder rem sinnvoller wären.

    Ich hatte das Thema bedingt durch einen Kunden auch gerade auf dem Tisch liegen und hatte eben unter anderem diesen Artikel gefunden.

    Ich hätte hinter den zitierten Satz besser ein "?" machen sollen. :) :)

    Aber ich finde es mal wieder echt klasse, das einem hier wirklich weitergeholfen wird und es super fachliche Diskussionen gibt.
    Danke vor allem Stefan S. für den intressanten Link. Sehr guter Artikel.

    Ich habe meist in der Vergangenheit alles in px angegeben, das werde ich nun für mich mal grundsätzlich überdenken.

    Nach allem was ich bisher dazu gelesen habe, sind die Formate em und rem wohl deutlich geeigneter für das Webdesign.

    Ich bin mir nur noch nicht ganz klar welches ich demnächst hauptsächlich verwenden werde.

    Im Moment tendiere ich mehr zu "rem", da ich glaube das es für mich einfacher ist den Zusammenhang der Schriftgröße mit dem root (dem obersten, ersten Container)

    zu verstehen und mir während der Webseitenerstellung vorstellen zu können, als durch "em", da dieser sich ja immer nur auf den darüberliegenden container bezieht.

    Mich würde mal intressieren wie ihr euch da entschieden habt.

    (nochmal dazu ein Link: LINK)

    VG Thomas

  • Hallo Mario,

    vielen Dank für die schnelle und hilfreiche Antwort!

    Ich habe mich jetzt an die Umsetzung wie folgt gemacht:

    - CSS-Klasse definiert (sonst kam es - wie du erwartet hast - zu Problemen mit einigen Widgets)
    - ul { ... } hinzugefügt, damit es auch bei Aufzählungen klappt

    - CSS-Klasse den Widgets hinzugefügt

    Das klappt fast überall. Probleme bereitet mir noch folgendes:

    - Widget Tabellarische Daten (hier passiert nichts)

    - Wildget Bild: Die Bildunterschriften wollen nicht (nicht so wichtig, konnte es befriedigend mit html lösen)

    - Shop: Beschreibungstexte von Shop, Kategorien und Artikel klappt, Rest nicht (Artikel-Titel, Preis, Titel & Texte der Varianten)

    - Hauptmenu (nicht so wichtig aber wäre das hier auch möglich?)

    Habe die Umsetzung noch nicht live, weil ich gerne vorher die anderen Punkte ändern würde.

    Viele Grüße

    Pierre

  • Du kannst die entsprechenden Klassen über die Browser-Entwicklerkonsole herausfinden.

    Zum Beispiel in Chrome das Element markieren > Rechtsklick > untersuchen > ...

    Dort solltest du zB. folgendes finden.

    • Artikel-Titel: .zpshoparticle .zpProduct h1, .zpshoparticle .zpProduct h2
    • Preis: .zpshoparticle .zpProduct .price
    • inkl. USt. zzgl. Versandkosten: .zpshoparticle .zpProduct .pricelabel
    • Beschreibungstext: .zpshoparticle .zpProduct .productdescription
    • Tabellarische Daten: table.zptabledata th, table.zptabledata td, table.zpfixed-column th, table.zpfixed-column td

    Wenn einmal ein CSS nicht greift kann eventuell ein !important helfen.

    Du solltest aber bei solchen Eingriffen genau wissen was du tust!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!