2017-06-12 1 views
0

Während Bootstrap 3 mit benutzerdefinierten Schriftart in Navbar die Position von Carot nicht vertikal ausgerichtet mit Text ausgerichtet bleibt.Benutzerdefinierte Schriftart bricht Caret-Position in Bootstrap-Navigationsleiste

enter image description here

Ich bin keine benutzerdefinierten Klassen - nur li Elemente mit .active und .dropdown jeweils nur font-family wurde geändert. Ich nehme an, dass das Problem mit der Schrifthöhe selbst zu tun hat.

Wie kann ich dieses Problem beheben, ohne die Position der Karotte zu hacken? Ich baue Bootstrap mit weniger, also, wenn es relevante Variablen gibt, die für etwas wie grundlegende Schrifthöhe (oder vielleicht Zeilenhöhe?) Entsprechen, lassen Sie mich wissen.

Edit: Codebeispiel Providing (nur ein gewöhnlicher navbar)

<nav class="navbar navbar-default"> 
    <div class="container"> 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
     <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Home</a></li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">About <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      </ul> 
     </li> 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Link <span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href="#">Action</a></li> 
      <li><a href="#">Another action</a></li> 
      <li><a href="#">Something else here</a></li> 
      </ul> 
     </li> 
     </ul>   
    </div><!-- /.navbar-collapse --> 
    </div><!-- /.container --> 
</nav> 
+1

die benutzerdefinierte Schriftart Sie verwenden? Codebeispiel? –

+0

bitte den Code angeben. –

+0

Bearbeitete die Frage mit Codebeispiel. Ich verwende die [Stolzl-Schriftart] (https://www.myfonts.com/fonts/northernblock/stolzl/). – Selenir

Antwort

0

Die caret bereits eine Klasse in Bootstrap hat. Ich würde empfehlen, das für die Positionierung zu verwenden.

.caret { 
    display: inline-block; 
    width: 0; 
    height: 0; 
    margin-top: -10px; 
    margin-left: 2px; 
    vertical-align: middle; 
    border-top: 4px dashed; 
    border-top: 4px solid \9; 
    border-right: 4px solid transparent; 
    border-left: 4px solid transparent; 
} 
+0

Ich verwende Caret-Klasse. Lesen Sie das Codebeispiel. – Selenir

+0

Ich bin mir nicht sicher, ob ich verstehe, was Sie meinen, indem Sie die Position von Carot hacken. Wenn Sie das CSS für den Kern-Bootstrap nicht ändern möchten und alle CareSets auf der Site betreffen, können Sie entweder (1) eine separate CSS-Datei für Bootstrap-Overrides erstellen oder (2) eine Zeile zu einem vorhandenen Bootstrap-CSS-Datei. Sie können Ihr CSS dann so qualifizieren, dass es nur für die Navigation gilt. Vielleicht etwas wie: 'nav.navbar ul.navbar-nav .caret {margin-top: -3px}' – Josh

0

Sie können die Einfügemarke in einer Spanne setzen:

<li class="dropdown"> 
       <a class="dropdown-toggle" style="font-size: large" data-toggle="dropdown" href="#">HasDropdowns<span class="caret"></span></a> 
       <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
+0

Dies ist ein Hackfix nur für Caret. Das Problem hängt, glaube ich, mit der Höhe der Schrift selbst zusammen. Was, wenn es etwas anderes bricht? Ich suche nach einer Lösung, die es behebt, ohne die Caret-Klasse zu beeinträchtigen. – Selenir

+0

@Selenir Ich erhöhte nach Stil Schriftgröße: groß, und das Caret wurde vertikal ausgerichtet. Können Sie uns bitte die von Ihnen verwendete benutzerdefinierte CSS-Schriftart mitteilen? – kblau

Verwandte Themen