2012-11-09 27 views
0

我有兩個樣式表和一個html頁面。我可以在頁面中心的div內使用其中一種樣式表嗎?我想這樣做,因爲這兩種款式都有不同的h1,h2,th等設置。html中的兩個css文件具有不同的設置

+1

你不應該。這就是你上課的原因。 – Brant

+0

哪種樣式表會先例?如前所述,只是使用類。 – Ric

+0

似乎你會想要分類你的元素,並將CSS應用於這些類。如果你有兩張CSS表格,第二張會覆蓋第一張的CSS,如果它們重疊的話。 – AJak

回答

1

HTML 5引入了the scoped attribute

這將允許您將<style>元素(而不是<link>指向外部樣式表)僅應用於文檔的一部分。

瀏覽器支持薄弱(最新統計數據來自Sep 2011 when there was zero support),所以這幾乎肯定對您不實際。


通常的解決方案是使用單個樣式表。用id將文檔中的文檔部分包裹在一個元素中,然後在選擇器中使用該標識符descendant combinator覆蓋更寬文檔中的所有適用樣式。

h1 { 
    color: red; 
} 

#mySection h1 { 
    color: black; 
} 
0

特異性將決定哪一個優先。如果您選擇走這條路線,您可以添加類來區分H1或另一種樣式。

但是,您也將通過HTTP加載兩個CSS文檔的性能指標。

就我個人而言,我會在一份文件中按課程計算出我的風格。例如:

h1 { 
    color:orange; 
} 

.style1 h1 { 
    font-size: 600%; 
    color: red; 
} 

.style2 h1 { 
    font-size: 20%; 
    color: yellow; 
} 

關鍵是要保持簡單。想想如果你的網站真的很龐大,你的方法可以長期維持多久。

0

您可以訪問的頭條新聞時,例如在一個div,如果你有這樣的:

<div class="example"> 
    <h1>Fancy headline</h1> 
</div> 

您可以像使用。實例H1 {...}風格,只給該標題的特定樣式。這就是在CSS中級聯)

0

而不是嘗試指定哪個部分的HTML將使用哪種樣式表更具體在您的樣式表中,所以你不會碰到樣式衝突。例;

HTML:

<div id="a"> 
    <div class="b"> 
     <h1>c</h1> 
    </div> 

    <h1>d</h1> 
</div> 

CSS:

#a h1 { 
    /* style */ 
} 

#a .b h1 { 
    /* another style */ 
} 
+0

爲什麼downvote? –

-1

只要你喜歡你可以使用盡可能多的樣式表。但最好將所有樣式合併到一張表中,以便您的頁面不必從Web服務器請求多個文件。

但更重要的是:如何在頁面上以不同的方式設計相同的元素?

兩個方法:

1)通過使用classid。如果您有標籤<h2 class='regular'><h2 class='highlight'>,則可以對它們進行不同的設計。

.regular { 
color: #000000; 
} 
.highlight { 
color: #0000ff; 
} 

2)您還可以根據他們與其他元素的關聯來設置樣式。例如,如果你的頁面結構是:

<body> 
    <div class='lvl-one'> 
     <p class='lvl-two'></p> 
    </div> 
</body> 

您可以定位<p class='lvl-two'>甚至沒有class這樣的:

div p { 
    font-size:24px; 
} 

PS。你的頁面上不應該有多個h1標籤 - 它對SEO不利。

相關問題