Textposition innerhalb eines Elements

8

So sieht mein aktueller Code aus:

HTML:

%Vor%

CSS:

%Vor%

Ergebnis :

Erstens, die Spalte, in die alles eingepackt ist, hat margin-bottom: 14px . Dies erzeugt den Abstand von der Spalte und den zwei horizontalen Linien darunter. Dies ist so, wenn der Benutzer den Knopf alle zusammen herausnehmen wollte, würde der Text innerhalb der Spalte immer noch 14 px schüchtern von den zwei Zeilen darunter treffen.

Wie Sie sehen können, ist der Text für .button mit der css padding Eigenschaft und text-align: center auf die Mitte ausgerichtet. Es gibt eine margin-top: 14px auf der Schaltfläche, die den gleichen Abstand über der Schaltfläche wie unter gibt.

Ich finde jedoch, dass durch die Verwendung des padding -Elements für den Text innerhalb der Schaltfläche die Entfernung um diese herum beeinflusst wird (in diesem Fall ist jetzt der Abstand unter der Schaltfläche, der 14px sein soll) größer als was es sein sollte).

Frage:

Gibt es eine Möglichkeit, den Text innerhalb von .button vertikal auszurichten, ohne die padding -Eigenschaft zu verwenden, da ich versucht habe, vertikal ausrichten, positionieren, floaten und ein paar andere, aber keinen Erfolg, ohne den Abstand über oder unter dem Feld zu ändern ... was ist der beste Weg, um dies zu tun und wenn möglich, eine alternative Möglichkeit, nur ein Bild stattdessen zu verwenden?

Jede Hilfe wird sehr geschätzt. Ссылка

    
user1752759 09.05.2012, 23:27
quelle

4 Antworten

18

Es gibt zwei Möglichkeiten, dies zu tun, aber ohne Javascript erfordern beide Methoden absolute Höhen, obwohl die zweite Option relativ zu padding funktioniert, die Sie gesetzt haben.

  • Die erste, eine offensichtliche Wahl ist die Verwendung der Zeilenhöhe.

    Dies funktioniert, indem Sie die Höhe der Textzeile auf einen Wert setzen und da der Text bereits nativ vertikal zur Mitte der Zeilenhöhe ausgerichtet ist, erhalten Sie den gewünschten Effekt.

    Durch das Hinzufügen der Zeile line-height : 27px; zu .button { erhalten Sie das gewünschte Ergebnis.

    jsfiddle

  • Die zweite Möglichkeit besteht darin, den Text innerhalb eines Elements in ein span-Tag einzufügen und die Eigenschaft bottom auf bottom: -6.75px;

    zu setzen

    Ihr Button-Element würde so aussehen

    <a class="button" href="#"><span id="buttontext">Read More</span></a>

    und Sie würden diese Zeile zu Ihrem CSS hinzufügen:

    #buttontext {position: relative; bottom: -6.75px;}

    jsfiddle

REFERENZEN

Michael Zaporozhets 09.05.2012, 23:43
quelle
3

Sie möchten "line-height" verwenden, um die Zeilenhöhe des Texts anzugeben. Beachten Sie, dass dies in einigen Fällen auch die Höhe des Elements ändern kann (wenn z. B. die Zeilenhöhe größer als die Mindesthöhe des Elements ist). Siehe dies: Ссылка

    
MK_Dev 09.05.2012 23:30
quelle
1

Setzen Sie line-height auf den gleichen Wert wie height

der Schaltfläche     
wheresrhys 09.05.2012 23:31
quelle
1

Ich denke, Sie können das Zeilenhöhenattribut verwenden. Probieren Sie es aus:

%Vor%     
zhujy_8833 09.05.2012 23:36
quelle

Tags und Links