2014-08-30 93 views
3

我有一個導航欄,我使用引導CSS。我想將它添加到已經有CSS樣式表的我的網站上,並且當我附上兩個樣式表時,它會衝突並混淆我的所有樣式。有沒有一種方法可以輕鬆地添加CSS樣式表,並讓它只適用於一個特定的div?只將CSS樣式表應用到一個Div

例如,有沒有一種方法我只能加載在該ID的CSS?

Bootstrap CSS非常大,所以我希望有一種方法不需要在數百個CSS規則中的每一條之前添加#myid。

編輯看起來這是在錯誤的方向進行解釋。問題不在於我如何才能獲得導航欄CSS,因爲這仍然會弄亂其他樣式。

有沒有一種方法可以在引導樣式表(例如#mydiv {#header {CSS規則} #content {CSS規則}}中放置一個#mydiv,以便該規則僅適用於一個格或做類似的效果?我知道這個例子不起作用,但有什麼可以做類似的效果來解決我的問題嗎?

+2

_「有沒有一種方法可以輕鬆添加CSS樣式表並僅適用於一個特定的div?」_ - 理論上是,HTML5是scoped樣式的 - 但瀏覽器對此的支持大多缺乏時刻。 – CBroe 2014-08-30 00:49:33

+0

是通過使用自定義嵌套元素,如[聚合物](http://polymer-project.appspot.com/) – Erevald 2014-08-30 00:51:07

+1

您應該問的問題是:'我怎樣才能使用Bootstrap的導航欄樣式'。你所要求的不是建議。您需要了解CSS繼承。看一看Bootstrap源文件中的各個模塊:https://github.com/twbs/bootstrap/blob/master/less/navs.less – Craig 2014-08-30 00:54:39

回答

5

這是一種做法:

  1. 您可以從GetBootstrap.c中獲得適當的css OM的定製 頁面

  2. 的ID =「mynav」添加到導航欄的父母,如果有一個或包裹導航與ID =「mynav」

  3. 打開引導一個div。你下載的CSS,刪除任何不必要的CSS(也許標準化,如果它是你有什麼重複)。

  4. 找到所有導航欄相關聯的樣式,並把#mynavbar(空間).navbar

  5. 然後,您將開闢自己的CSS和把#mynav在受影響的樣式前面。

  6. 由於導航和Bootstrap的所有工作與邊界框大小,你必須改變你的CSS的數學。

HTML - 僅僅是示例:

<div id="mynav"><header class="navbar navbar-static-top"> 
    ... 
    </header></div> 

CSS例子,還有很多的這個,所以你以前所有

#mynavbar .navbar {styles} 

添加#mynav您可以從GetBoo獲取navbar和相關的css和js tstrap。COM的自定義頁面:

http://getbootstrap.com/customize/

切換如下:

enter image description here

enter image description here

向下滾動,當你需要的顏色和這樣的導航欄進行其他調整:

enter image description here

然後再次向下滾動並單擊下載。

下載將包含您選擇的CSS。然後你會打開你得到的bootstrap.css文件,你會看到規範化的CSS和其他基本設置和導航欄,沒有其他樣式。如果有衝突的類,請重命名並將它們應用於您的html。

你沒有提到什麼衝突,但通常是.container類是Bootstrap使用的相同或全局 - 必要 - 框尺寸:邊框。如果你看到混亂,回到你自己的CSS - 不是Bootstrap的,並調整數學(包括所有邊界和填充)。閱讀框尺寸:邊框以瞭解更多信息。

+0

這是一個很好的提示,我很感激它,但它仍然搞亂了我的網站,並且有數百個可能的CSS規則可能是原因。 – etangins 2014-08-30 16:09:10

+0

由於CSS繼承的工作方式,您不能只爲一個div加載css而不應用於其他元素。您必須排除衝突,重新命名它們。找到相同的類名稱,並更改Bootstrap的名稱或您自己的名稱。 – Christina 2014-08-30 17:37:27

+0

重新閱讀答案,我更新了它,以指導您更新的問題 – Christina 2014-08-30 18:18:25