Wie kann ich die Stile in Twitter Bootstrap überschreiben? Zum Beispiel verwende ich derzeit eine .sidebar-Klasse mit der CSS-Regel 'float: left;' Wie kann ich das so ändern, dass es stattdessen nach rechts geht? Ich verwende HAML und SASS, bin aber relativ neu in der Webentwicklung.
css
twitter-bootstrap
John
quelle
quelle
Antworten:
Fügen Sie Ihre eigene Klasse hinzu, z. B.:
<div class="sidebar right"></div>
Mit dem CSS alsquelle
Alle diese Tipps funktionieren, aber eine einfachere Möglichkeit besteht darin, Ihr Stylesheet nach den Bootstrap-Styles einzufügen.
Wenn Sie Ihr css (
site-specific.css
) nach Bootstrap (bootstrap.css
) einfügen , können Sie Regeln überschreiben, indem Sie sie neu definieren.Zum Beispiel, wenn Sie auf diese Weise CSS in Ihr Programm aufnehmen
<head>
Sie können die Seitenleiste einfach nach rechts verschieben, indem Sie (in Ihre
site-specific.css
Datei) schreiben :Verzeihen Sie den Mangel an HAML und SASS, ich kenne sie nicht gut genug, um Tutorials darin zu schreiben.
quelle
.sidebar.right
sind spezifischer als.sidebar
. Das ist wahrscheinlich das Problem. Verwenden Sie den Webinspektor, um herauszufinden, was ihn überschreibt.!important
ist, dass Sie es in Zukunft nie wieder überschreiben können.Site.css
wird gebündelt und aufgeführt inBundle.config
und körperlich gemacht , nachdembootstrap.css
aber die Stile sind noch nicht außer Kraft gesetzt. Ich musste diesite.css
Referenz aus dem Modernizer-Bundle nehmen und sie manuell nach dembootstrap.css
(und drücken Sie Strg + F5 einmal beim Debuggen, um den Cache zuDie Antwort darauf lautet CSS-Spezifität. Sie müssen in Ihrem CSS "spezifischer" sein, damit es die Bootstrap-CSS-Eigenschaften überschreiben kann.
Zum Beispiel haben Sie hier einen Beispielcode für ein Bootstrap-Menü:
Hier müssen Sie sich an die Hierarchie der Spezifität erinnern. Es geht so:
Also, für die oben genannten, wenn Ihr CSS so etwas hat:
Selbst wenn Sie das
.navbar a
After definiert haben, wird.navbar ul li a
es immer noch mit einer roten Farbe anstelle einer grünen Farbe überschrieben, da die Spezifität größer ist (13 Punkte).Alles, was Sie tun müssen, ist, die Punkte für das Element, für das Sie das CSS ändern möchten, über das Inspect-Element in Ihrem Browser zu berechnen. Hier hat bootstrap sein CSS für das Element als angegeben
Selbst wenn Ihr CSS geladen wird, wird es nach bootstrap.css geladen, das die folgende Zeile enthält:
Es wird immer noch als # 999 gerendert. Um dies zu lösen, hat Bootstrap 22 Punkte (berechnen Sie es selbst). Wir brauchen also nur etwas mehr. Daher habe ich den Elementen benutzerdefinierte IDs hinzugefügt, z. B. Home-Menü-Container und Home-Menü. Jetzt funktioniert das folgende CSS:
Getan.
Sie können auf diesen MDN-Link verweisen .
quelle
blockquote
Stil im Bootstrap-CSS zu überschreiben. Seltsamerweise war es für normale Blockzitate falsch, sah aber richtig aus und <ul> innerhalb eines Blockzitats. Der Schlüssel war, mein CSS zu aktualisierenblockquote p
, was genügend Priorität gab. Das <ul> tat dies für den anderen Abschnitt der Seite.Sie können eine CSS-Klasse überschreiben, indem Sie sie "spezifischer" machen.
Sie gehen in den HTML-Baum und geben übergeordnete Elemente an:
div.sidebar { ... }
ist spezifischer als.sidebar { ... }
Sie können bis zum KÖRPER gehen, wenn Sie müssen:
body .sidebar { ... }
wird praktisch alles überschreiben.Siehe diese praktische Anleitung: http://css-tricks.com/855-specifics-on-css-specificity/
quelle
Sie können einfach sicherstellen, dass Ihre CSS-Datei NACH boostrap.css analysiert wird, wie folgt:
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/myFile.css" rel="stylesheet">
quelle
Wenn Sie CSS im Bootstrap überschreiben möchten, verwenden Sie! Wichtig
Angenommen, hier ist die Seitenkopfklasse in Bootstrap mit einem Rand von 40 Pixel oben. Mein Client mag sie nicht und möchte, dass sie oben 15 und unten nur 10 beträgt
Also habe ich in meiner site.css-Datei eine Klasse mit demselben Namen hinzugefügt
Beachten Sie das! Wichtige mit meinem Rand, der den Rand des Randes der Bootstarp-Seitenkopf-Klassenklasse überschreibt.
quelle
Kam so spät rüber, aber ich denke, es könnte eine andere Antwort gebrauchen.
Wenn Sie sass verwenden, können Sie die Variablen tatsächlich ändern, bevor Sie Bootstrap importieren. http://twitter.github.com/bootstrap/customize.html#variables
Ändern Sie einen von ihnen, wie zum Beispiel:
Wenn für das, was Sie ändern möchten, keine Variable verfügbar ist, können Sie alternativ die Stile überschreiben oder eigene hinzufügen.
Sass:
Beachten Sie auch Folgendes : Richtige SCSS-Asset-Struktur in Rails
quelle
Ich weiß, dass dies eine alte Frage ist, aber dennoch bin ich auf ein ähnliches Problem gestoßen und habe festgestellt, dass mein "nicht funktionierender" CSS-Code in meiner
bootstrapOverload.css
Datei nach dem geschrieben wurdemedia queries
. Als ich es über Medienabfragen verschob, fing es an zu funktionieren.Nur für den Fall, dass jemand anderes vor dem gleichen Problem steht
quelle