Alle bisherigen Lösungen kodieren 40 Pixel auf die eine oder andere Weise fest in HTML oder CSS. Was ist, wenn die Navigationsleiste eine andere Schriftgröße oder ein Bild enthält? Was ist, wenn ich einen guten Grund habe, nicht an der Körper Polsterung in erster Linie? Ich habe nach einer Lösung für dieses Problem gesucht, und hier ist, was ich gefunden habe:
$(document).ready(function(){
$('.contentwrap') .css({'margin-top': (($('.navbar-fixed-top').height()) + 1 )+'px'});
$(window).resize(function(){
$('.contentwrap') .css({'margin-top': (($('.navbar-fixed-top').height()) + 1 )+'px'});
});
Sie können ihn nach oben oder unten verschieben, indem Sie die '1' einstellen. Bei mir scheint es unabhängig von der Größe des Inhalts in der Navigationsleiste zu funktionieren, vor und nach der Größenänderung.
Ich bin neugierig, was andere darüber denken: Bitte teilen Sie Ihre Gedanken mit. (Es wird überarbeitet werden, um nicht zu wiederholen, btw.) Neben der Verwendung von jQuery, gibt es irgendwelche anderen Gründe, das Problem nicht auf diese Weise zu nähern? Ich habe es sogar mit einer sekundären Navigationsleiste wie diese funktioniert:
$('.contentwrap') .css({'margin-top': (($('.navbar-fixed-top').height())
+ $('.admin-nav').height() + 1 )+'px'});
PS: Oben ist auf Bootstrap 2.3.2 - wird es in 3.x funktionieren, solange die generischen Klassennamen bleiben... in der Tat, es sollte unabhängig von Bootstrap arbeiten, nicht wahr?
EDIT: Hier ist eine vollständige Jquery-Funktion, die zwei gestapelte, reaktionsfähige feste Navigationsleisten mit dynamischer Größe handhabt. Es erfordert 3 html-Klassen (oder könnte id's verwenden): user-top, admin-top, und contentwrap:
$(document).ready(function(){
$('.admin-top').css({'margin-top':($('.user-top').height()+0)+'px'});
$('.contentwrap') .css({'padding-top': (
$('.user-top').height()
+ $('.admin-top').height()
+ 0 )+'px'
});
$(window).resize(function(){
$('.admin-top').css({'margin-top':($('.user-top').height()+0)+'px'});
$('.contentwrap') .css({'padding-top': (
$('.user-top').height()
+ $('.admin-top').height()
+ 0 )+'px'
});
});