Wie center ein HTML-element mit border-entspricht der Breite
Knifflige Sache, ich habe eine HTML-Titel, mit border-top und border-bottom angewendet werden.
Kann ich zentrieren Sie es so, dass die Grenzen, die die gleiche Breite wie das element ?
Jetzt habe ich kläglich verwenden Breite, das ist überhaupt nicht eine gute Lösung.
Sehen Sie hier eine demo : http://codepen.io/anon/pen/KIJAh
HTML
<div>
<h3 class="removeMe">All your base</h3>
</div>
CSS
div {
padding-top: 30px;
height: 100px;
width: 300px;
margin: 0 auto;
background-color: Moccasin;
}
h3 {
text-align: center;
display: block;
border-top: 1px solid black;
border-bottom: 1px solid black;
margin: 0 auto;
}
.removeMe {
width:160px;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Optionen, die ich denken kann:
1) set h3
display: inline
UND legen Sie das übergeordnete element zu habentext-align: center
Könnte man hinzufügen
display: inline
zu Ihrem h3-Selektor:Dies wird natürlich Auswirkungen auf das layout Verhalten.
BEARBEITEN OP will, dass der text zentriert:
Halten Sie den text zentriert hinzufügen
text-align: center
zu den Eltern:Können Sie display:inline-block; auf h3 statt display:block;
Ich würde empfehlen, display:inline, aber wenn, bricht Sie Ihr layout und Sie nicht wollen, um es zu beheben. Möchten Sie vielleicht zu geben, die Tabelle zu versuchen. Ihr scheint zu funktionieren wie Sie es wollen, in Ihre demo. Nicht 100% sicher, dass seine noch brauchbare css-obwohl.
Wenn Ihr auf der Suche, um die Position ausgerichtet werden, um die Mitte ...
http://codepen.io/anon/pen/xoFKH
Hervorgehoben, div-hintergrund machen es offensichtlich :/
Dies funktioniert für mich.