2013-04-08 75 views
0

我想知道爲什麼Chrome會向<h>家族的標題元素添加樣式屬性。 當我加入這樣的元素,並做沒有具體的CSS標記,以下是由鉻補充說:爲什麼chrome會爲h *元素添加特定屬性?

h3 { 
display: block; 
font-size: 1.17em; 
-webkit-margin-before: 1em; 
-webkit-margin-after: 1em; 
-webkit-margin-start: 0px; 
-webkit-margin-end: 0px; 
font-weight: bold; 
} 

我有東西覆蓋它就像

h3{ 
    display: block; 
    font-size: 1.2em; 
    -webkit-margin-before: 0; 
    -webkit-margin-after: 0; 
    -webkit-margin-start: 0; 
    -webkit-margin-end: 0; 
    cursor: default; 
    font-weight: normal; 
} 

好吧,我可以接受部分他們將其設置爲粗體並增加字體大小,但爲什麼他們會改變邊距?

我覺得這有時會讓人感到困惑,因爲我重新安排了所有的元素,並想知道爲什麼<p><h>的行爲是不同的,因爲我忘記了這一點。

還是隻是我,我錯過了重要的部分?

對不起,我盡力而爲。

+0

使用簡單的CSS重置。它會解決這些問題 – 2013-04-08 18:13:56

+1

'邊距:0'也應該可以工作 – 2013-04-08 18:15:03

+0

我已經做了,但看起來有點過時了。當然你的權利,但有這個說,我仍然想知道這個問題 – Sprottenwels 2013-04-08 18:15:16

回答

5

去激活CSS:你會明白爲什麼瀏覽器有一個默認的樣式表(他們的選擇)。

  • 試想在一個列表的列表清單沒有任何padding/margin-left集上的項目:無論他們的水平將是左對齊,並很難讀取所有列表項。
  • 沒有p之間保證金1EM,你無法判斷2組句子有兩種不同的段落或只是由<br>分離(即和摺疊利潤......只有垂直)
  • a默認下劃線並擁有我們習以爲常的藍色。你將如何告訴有鏈接的文本,如果他們間沒有(T下劃線和黑色?

所有這些定義自然顯示的文字,這是必要的謊言之前普通的HTML和博斯發明CSS。

至於-start-end-before-after後綴,這僅僅是一個CSS3 表達上,右,底部的不可知方式離開了。我的意思無關的是,語言可以RTL(書面從右到左象阿拉伯語和希伯來語)或LTR(從左到右像eng從上到下和從左到右,無論主要方向和次要方向,你可以說之前和瀏覽器將從上下文了解,如果它是頂部或左...
但是,這是瀏覽器的內部結構:當然margin指令前綴的,如果你甚至不關心RTL語言,它會與TRBL工作了時間;)
所以只要繼續用簡單的之類的東西

margin: 1em 10px 1.333em 20px 

編輯:從CSS Writing Modes Module Level 3 - Flow-relative Directions
定義:

的流動相對的方向,之前,在之後,開始和結束都是相對於頁面上的內容流而定義的。在LTR'horizo​​ntal-tb'寫入模式下,它們分別對應於頂部,底部,左側和右側方向。

+1

像我希望一個答案。非常感謝你:) – Sprottenwels 2013-04-08 18:24:54

+0

不客氣。如果Inspector/Firebug-like工具具有高級模式,那麼他們會顯示這些'-webkit - * - end',但仍然會以「簡單」模式顯示與「-webkit-appearance」等形式相關的高級模式... – FelipeAls 2013-04-08 18:34:08

相關問題