2012-03-28 5 views
2

J'aime que l'élément navbar-inner de ma Bootstrap Layout soit personnalisable par le framework jQuery UI.Comment écraser Twitter Bootstrap navbar-classe interne

<div class="navbar-inner ui-widget-header"> 

</div> 

Mais l'arrière-plan de la barre de navigation est toujours noir. Comment remplacer l'arrière-plan Bootstrap avec l'arrière-plan de la classe ui-widget-header sans modifier le fichier bootstrap css?

Répondre

7

Créez votre propre fichier CSS que vous utiliserez pour remplacer les styles du bootstrap.css et ajouter la référence à votre HTML après la référence à bootstrap.css. Aussi, pour vous assurer que vos styles écrasent les bootstrap, vous pouvez utiliser le mot-clé! Important dans votre CSS. Créez un fichier CSS et appelez-le quelque chose comme bootstrap-overwrite.css.

Ajoutez la classe d'amorçage que vous souhaitez remplacer -

.navbar-inner 
{ 
    background: none !important; 
} 

Ajouter la référence à votre HTML après la référence bootstrap -

<link href="styles/bootstrap.css" rel="stylesheet" type="text/css" /> 
<link href="styles/bootstrap-overwrite.css" rel="stylesheet" type="text/css" /> 

Twitter Bootstrap est un cadre qui est censé être redécoré si vous ne devriez pas avoir peur d'écraser le style par défaut.

+0

Cela s'applique-t-il aux styles "-responsive.css"? –

1

Rendez le sélecteur ui-widget-header plus specific, afin qu'il écrase navbar-inner dans the cascade. Par exemple,

#pageid .navbar .ui-widget-header { 
    background: red; 
} 

est plus spécifique que simplement ...

.ui-widget-header { 
    background: red; 
} 
+0

Les styles pour ui-widget-header sont générés par jqueryui themeroller, Et je n'aime pas manipuler les css générés à partir des deux frameworks (bootstrap.css, jquery-ui.css) car il devrait être facile à utiliser pour différents instances. – Johannes

+0

Doit admettre que j'avais supposé que c'était juste la classe 'navbar-inner' que vous étiez incapable de changer. Si vous ne pouvez modifier aucun des CSS en cours et que vous voulez que ces deux classes soient appliquées à l'élément, je ne vois aucun moyen de faire ce travail comme vous le souhaitez. Dans ce cas, la seule façon d'influencer l'arrière-plan serait d'ajouter des CSS supplémentaires et/ou d'utiliser JavaScript pour modifier les styles, mais cela ne pourra pas influencer 'ui-widget-header'. – MrWhite

+0

J'ai trouvé une solution. J'ajoute la classe ui-widget-header à un div enfant du div navbar-inner. Maintenant, il fonctionne avec un simple écraser css comme set couleur de ".navbar .nav> li> un" pour hériter et padding-gauche et padding droite de navbar-interne à 0. – Johannes