2011-12-11 291 views
0

我有這個代碼,我不明白爲什麼我的H1和它的關聯P標籤沒有得到在BODY CSS元素中定義的字體和大小(沒有繼承)..除非我取消註釋* css風格,什麼是一個非常糟糕的主意。如果我這樣做了,我不能改變它們在Pss標籤中重新定義它們的屬性(繼承似乎是被迫的)。CSS - 樣式不繼承屬性

我對maaany標記有這個問題,我不想每次重新定義字體和大小。

global.css中

/* 
* { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
} 
*/ 
html { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
} 

body { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
    margin: 0px; 
} 

p { 
    text-align:justify; 
    margin:0px; 
    margin-bottom:10px; 
} 

HTML

<HTML> 
<HEAD> 
<TITLE>a</TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<LINK href="global.css" rel="stylesheet" type="text/css"> 
</HEAD> 
<BODY> 
<DIV> 
    <TABLE width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <TR> 
     <TD width="1" valign="top"></TD> 
     <TD valign="top"> 
     <div> 
      <H1>Title</H1> 
      <p>Some text</p> 
     </div> 
     </TD> 
    </TR> 
    </TABLE> 
</DIV> 
</BODY> 
</HTML> 
+0

您只是將字體大小添加到body標籤。不是實際的h1標籤。你需要用你想要的尺寸來定義h1標籤,或者在樣式頁面中取消註釋你的*樣式。 – ZombieCode

回答

1

H1默認已與它在瀏覽器在默認情況下,你可以使用一個復位樣式表相關的字體大小來解決這或簡單地。

h1,p{ 
font-size:12px;} 
1

H1和P都具有原生瀏覽器定義的樣式,這與默認的瀏覽器樣式不同。沒有任何造型信息,H1看起來與正文中的文字不同,對吧?由於這些原因,你需要明確地覆蓋它們。

html, h1 { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
} 
3

瀏覽器的用戶樣式風格h1p,以及單獨的所有其他元素,它具有比通過body更高的特異性。

單獨設置樣式以覆蓋這些樣式。

h1, p { 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
    margin: 0px; 
} 

您還可能有興趣在一個CSS reset

0

H1元素不會繼承font-size,因爲它在瀏覽器的默認樣式表中設置了font-size。

P元素不會繼承它,因爲元素位於表格單元格中,並且瀏覽器中的「怪癖模式」意味着除了許多其他事情之外,表格會破壞繼承。您的頁面以怪癖模式顯示,因爲它沒有文檔類型聲明;把<!doctype html>在最開始是爲了避免怪癖模式最簡單的方法,但是很多網頁依靠怪癖模式和垮掉的「標準模式」。

如果取消對第一條規則,它使用通用選擇*,它將應用於所有元素,但將被樣式表中的任何其他規則覆蓋,例如p { font-size: 5px }。如果看起來不是這種情況,那麼在其他規則中有一個錯誤 - 使用W3C CSS Validator來首先檢查語法。