Text neben Marke

Lesezeit: 3 Minuten

Benutzer-Avatar
iamyojimbo

Wie bekomme ich die Bootstrap-Marke und den dazugehörigen Text zusammen als Marke behandelt?

Ich habe dies versucht:

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <div class="navbar-brand">
            <a href="https://stackoverflow.com/questions/20502040/..." ><img class="img-responsive" src="/brand.png")?>"></a>
            <h3>Ultimate Trade Sizer</h3>
        </div>
    </div>
</nav>

Ich kann sie jedoch nicht ausrichten (dh nebeneinander). Es erzeugt den folgenden Effekt:

Titel und Logo sollten nebeneinander stehen

Bitte beachten Sie, dass ich Bootstrap 3 verwende.

  • Ihr H3 wird standardmäßig immer als Block angezeigt. Fügen Sie einfach CSS-Styling hinzu, um sie als Inline zu behandeln.

    – Lee

    6. Juli 2016 um 11:27 Uhr

Benutzer-Avatar
Pierre de LESPINAY

Wickeln Sie das Bild in a span

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">
            <span><img src="#"/></span>
            Ultimate Trade Sizer
        </a>
    </div>
</nav>

span standardmäßig auf display: inline

  • Fantastisch! Wunderbar! Vielen Dank!

    – Brian Cannard

    9. April 2015 um 0:06 Uhr

  • Scheint in Ordnung zu sein, aber … Text und Bild sind nicht richtig ausgerichtet. Es gibt Regeln, die bei der richtigen Positionierung der .navbar-text-Klasse auf dem p-Tag helfen (Bootstrap 3.3.5).

    – przemcio

    9. November 2015 um 21:12 Uhr

  • Der Text sollte sich idealerweise innerhalb eines geeigneten Tags befinden.. wie eine Überschrift, wenn er als Überschrift klassifiziert ist.. Achten Sie jedoch auf Ihre Hierarchie. Sie sollten ein H2- oder niedrigeres Tag nicht zuerst auf der Seite vor einem H1 haben

    – Lee

    6. Juli 2016 um 11:28 Uhr


Die richtige Lösung wäre zu verwenden navbar-text auf der h3 und keine zusätzlichen zu verwenden div oder span Elemente:

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <div class="navbar-brand">
            <a href="https://stackoverflow.com/questions/20502040/...">
                <img class="img-responsive" src="/brand.png">">
            </a>
            <h3 class="navbar-text">Ultimate Trade Sizer</h3>
        </div>
    </div>
</nav>

Sehen http://getbootstrap.com/components/#navbar-text für die ordnungsgemäße Dokumentation von navbar-text.

  • Wenn Sie p anstelle von h3 verwenden, erhalten Sie ein korrektes Layout. Siehe die von dir erwähnte Beschreibung.

    – przemcio

    9. November 2015 um 21:13 Uhr

  • p scheint vernünftiger und stimmt auch mit der Bootstrap-Dokumentation überein. Leider kann ich mich nicht erinnern, warum ich es benutzt habe h3 in meiner Antwort.

    – Lanox

    10. November 2015 um 15:14 Uhr

Ich bin mir nicht sicher, ob dies das richtige HTML ist, aber ich habe das Bild und den Text in eine neue div-Klasse gepackt und diese nach links verschoben. Außerdem wurde das Bild in die neue Klasse mit etwas Polsterung auf der rechten Seite geändert, um es vom Text abzuheben. Schien für mich zu funktionieren, aber ich bin ziemlich neu in Bootstrap, also ist es vielleicht nicht genau richtig. Ihr Code würde so aussehen.

html

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">
            <div class="navbar-brand-name">
                <img src="#"/>
                     Ultimate Trade Sizer
            </div>
        </a>
    </div>
</nav>

fügen Sie die neue CSS-Klasse unter der Klasse .navbar-brand hinzu

.navbar-brand-name > {

  display: inline-block;
  float: left;

}

.navbar-brand-name > img {
  display: inline-block;
  float: left;
  padding: 0 15px 0 0;
}

  • Diese Lösung hat bei mir am besten funktioniert. War die einzige, bei der der Markentext richtig auf die restlichen Navigationselemente ausgerichtet war. Jedoch paddingNähte, um das Bild zu dehnen, margin Nähte besser funktionieren: margin: -5px 10px;

    – Erik Kalkoken

    6. März 2017 um 16:56 Uhr

Dies geschieht, weil die img-responsive Klasse hat display:block. In diesem Fall bin ich mir nicht sicher, ob Sie diese Klasse für das angezeigte Bild benötigen, da es bereits ziemlich klein ist und wahrscheinlich nicht auf Probleme stoßen wird, da es reaktionsfähig sein muss.

Alternativ könnten Sie überschreiben img-responsive in diesem Fall zu display:inline-block und habe auch deine h3 sich verhalten display:inline-block auch.

1245690cookie-checkText neben Marke

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy