2012-07-11 85 views
23

我每天使用CSS媒體查詢處理頁面我不喜歡;我寧願使用整個頁面(其中大多數與窄於768px的Twitter Bootstrap菜單摺疊有關)。忽略CSS媒體查詢

有沒有辦法覆蓋Bootstrap的媒體查詢與CSS?最好不要定義我自己的媒體查詢來單獨覆蓋所有規則,因爲我覺得這需要相當長的時間。

編輯:我沒有對源代碼的控制,否則我只會殺死引導響應代碼。

回答

11

爲什麼不首先將它們刪除?

如果你不能,你仍然可以覆蓋與規則CSS聲明:

  • 具有相同的優先選擇和後前來的MQ塊
  • 高選擇優先比MQ塊中的規則
  • !important之間的值和分號
/* one id, one class AND one element => higher priority */ 
    #id element.class { property: value2; } 

    /* !important will nuke priorities. Same side effects as a nuke, 
     don't do that at home except if you've tried other methods */ 
    #id .class { property: value2 !important; } 

    @media(blah) { 
     /* Overridden. Thrice. */ 
     #id .class { property: value1; } 
    } 

    /* same selector, same everything except it comes after the one in @media? 
     Then the latter is applied. 
     Being in a @media doesn't give any more priority (but it won't be applied 
     everywhere, depending on "blah", that's the point of MQ) */ 
    #id .class { property: value2; } 

在前面的示例中,@media塊之外的任何聲明都將覆蓋內部的一個聲明,例如,價值2將被應用而不是價值1的原因有三個。

+0

我同意,如果你不喜歡/需要它們,爲什麼不完全刪除bootstrap-responsive.css文件? – Jeemusu 2012-07-11 03:57:41

+13

我無法控制源代碼。 – 2012-07-11 03:59:36

2

想重寫bootstraps responsive.css。

我有一半的網站,我想使用默認的responsive.css,而另一半媒體查詢導致錯誤的佈局,所以我想刪除它。

根據我的研究css不允許刪除媒體查詢

所以我會去複製responsive.css並刪除媒體查詢。如果您無法訪問源,覆蓋可能是唯一的選擇。

+2

CSS不允許刪除任何內容。您只能覆蓋指令(使用新值,特別是此屬性的默認值)。如果指令處於媒體查詢中的規則中,則可以在每種情況下或爲此特定的MQ覆蓋它,方法是爲該MQ,相同的選擇器,相同的屬性和新的/默認值(以及地點它在被覆蓋的指令之後) – FelipeAls 2013-08-02 08:49:59