2016-06-13 25 views
0

我有一個3scss文件是base.css,layout.csscontents.css。我宣佈他們爲如下:如何覆蓋沒有特異性的類?

<link rel="stylesheet" href="base.css"> 
<link rel="stylesheet" href="layout.css"> 
<link rel="stylesheet" href="contents.css"> 

base.css是默認的風格元素。我使用layout作爲網站的header,footer以及wrapper。至於contents.css,這個名字說明了一切。是的,這是網站的所有內容。由於我分開了,我實際上沒有使用特異性。例如像:

base.css

input { 
    padding: 12px 0 12px 0; 
} 

layout.css中

layout-wrapper{ 
    /*some styles*/ 
} 

contents.css

input { 
    font-size:1.5em; 
    padding: 2px 0 2px 0; 
} 

我除了覆蓋contents.cssinput之外,base.css的樣式首先被讀取,然後是contents.css。我想知道爲什麼它不適用於input,因爲在其他元素中它很好。我能實現我的目標,如果我把一個特異性我input元素,但它應該是這樣的:

contents.css

layout-wrapper{ 
      /*some styles*/ 

    input { 
     font-size:1.5em; 
     padding: 2px 0 2px 0; 
    } 
} 

這會損害分離的佈局和內容的目的。所以我的問題是如何從內容中覆蓋輸入樣式而沒有任何特殊性?

回答

1

甚至有分隔的文件,特異性的回答你的問題,其他的可能會說使用!important,但避免不惜任何代價。

+0

我不想使用!非常重要,除非它確實需要。除了特異性之外,真的沒有別的辦法嗎?如果我添加一個特異性,那麼我的scss將會更深5-6級。我不想不惜一切代價去深入。由於無序列表,它有4-5層深的麻煩。 – user3771102

+0

然後添加一個類來輸入,並在你的content.css風格中使用更具體的類的輸入,它仍然是我給出的答案, - 特異性 - 檢查[特異性計算器](https://特性。 keegan.st/) – dippas

+0

嗯,我知道如何把特異性好,但我的問題是我的代碼將被重複,如果我這樣做。儘可能多的我想我的代碼被重用。 – user3771102

0

你應該給予默認diff類名稱或元素名稱,比如使默認輸入爲默認的css

+0

嗯,我試圖儘可能通用,以便能夠重新使用我的代碼。我有20個css文件需要在這3個scss中壓縮。所以有更多的課程就像在1 scss中有20個CSS。我不認爲這是好事。 – user3771102