Die Breite der Bootstrap-Navigationsleiste wird unerwartet erweitert

8

Ich habe folgende Navigation:

Wenn ich auf einen Menüpunkt klicke, bekomme ich Folgendes:

Das Problem ist, dass wenn ich auf den Menülink klicke. Der Link-Container erbt die Breite des Dropdown-Menüs. Kann ich das sowieso mit einer reinen CSS-Lösung deaktivieren?

Ich benutze Bootstrap 3.4.

Die Idee meiner Navigation besteht darin, dass die Dropdown-Menüs die Höhe des Navigationsbereichs erhöhen. Indem Sie das Dropdown-Menü auf Position: Relativ setzen. Der übergeordnete Menüeintrag erbt seine Breite. Ich bin verwirrt, warum es das tun würde. Gibt es eine Möglichkeit, dies zu verhindern?

Vielen Dank im Voraus. Lassen Sie mich wissen, wenn Sie weitere Details benötigen.

Hier ist ein jsFiddle.

Hier ist das aktuelle Markup:

%Vor%     
cwiggo 25.01.2016, 11:49
quelle

7 Antworten

5

Anstelle von position: relative; add position: absolute; bis .dropdown-menu class

%Vor%

Demo

    
Arun Kumar M 25.01.2016 11:55
quelle
1

Fügen Sie dem übergeordneten Element width ein Set <li> hinzu. Dies sollte verhindern, dass er die Breite eines untergeordneten Elements <ul>

erbt

JsFiddle

    
Dimitry_N 09.02.2016 16:43
quelle
0

.. ich habe die Antwort aktualisiert und werfen Sie einen Blick auf diesen Plunker , um zu erreichen, wie Sie erwähnen benutze dieses CSS

Code

%Vor%

hoffe, dass dies Ihr Problem lösen wird

    
User_3535 10.02.2016 10:11
quelle
0

Wenn Sie JQUERY verwenden möchten, funktioniert das wie gewünscht.

Ссылка

%Vor%

BTW Sie müssen Ihren Off-Fokus schreiben, um festzulegen, wie Sie sich verhalten wollen.

    
Daniel Forbes 11.02.2016 14:16
quelle
0

Sie können dies einfach tun, indem Sie die Breite des umschaltbaren Ankerelements zwischen den Dropdown-Ereignisaufrufen beibehalten:

%Vor%

WICHTIG : Bitte beachten Sie, dass diese Lösung nur für Bootstrap v3.3.6 und höher funktioniert, da in der Version relatedTarget in Version 3.3.5 und darunter ein Fehler aufgetreten ist.

    
Khalid T. 15.02.2016 09:57
quelle
0

Hier ist das erforderliche Verhalten.

Ссылка

Bitte lassen Sie mich wissen, wenn ich einen Punkt vermisse, den Sie erwähnt haben.

Was habe ich geändert? Bitte finden Sie in meinen inine Kommentaren

%Vor%

Danke

    
MKAka 15.02.2016 11:46
quelle
0

Jedes Element, das absolut und in einem relativen Container enthalten ist, würde seine Breite vom relativen Container übernehmen. die relative Behälterbreite wäre die 100% für den absoluten Behälter. Die einzige Möglichkeit, das standardmäßige Bootstrap-Verhalten zu ändern, besteht darin, die Containerposition in "static" zu ändern und die Position relativ zum Container anzugeben, dessen Breite Sie für das Dropdown-Element erben möchten.

    
Rovi 16.02.2016 12:12
quelle