總的來講:這是CSS3.0的對於文章段P容器的定義方法語句!display:block這個樣式,只定義了P容器爲一個塊;後面四句是CSS3中的樣式定義方法;-webkit-margin-before: 1em;-webkit-margin-after: 1em;分別定義p的上邊距和下邊距的數值是1倍字體高度,如10px像素的字,那麼邊距就爲10px; -webkit-margin-start: 0px;-webkit-margin-end: 0px; 上面二句則定義爲左右邊距都爲0PX,這個應該好理解;因此以上p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0px;-webkit-margin-end: 0px;}至關於CSS2.0中的p { display: block; margin-top: 1em; margin-bottom: 1em; margin-right: 0px; margin-left: 0px;} 但因爲CSS3.0要求瀏覽器版本較高,因此國內並無流行CSS3.0樣式,依然以CSS2.0爲主流,但之後應該是CSS3.0的天下,由於它表明着先進性。 下面是講下它的由來: 其實這就是W3C樣的CSS3的一個定義P容器內容的樣式:「-webkit-margin-before」、「-webkit-margin-after」,「-webkit-margin-start」,「-webkit-margin-end」 這個是CSS3階段提出的一個屬性,如今甚至連草案都沒進,目前只有webkit支持。before、after、start、end是用在對文本的。好比說,中文和英文是從左到右,從上到下閱讀的,那麼,before = top, start = left,end = right,after = bottom。這叫作「writing-mode」,簡單來講就是書寫方式。可是,日文的書寫方式就不同了,他們是從上至下,從右到左書寫的。那麼在這種write-mode下,before = right, start = top,end = bottom,after = left。margin-before的用意就是,不管是哪一種writing-mode,咱們均可以設定「開始那邊的邊距」這樣的內容,而不須要爲了適應不一樣的writing-mode寫幾種margin。關於writing-mode,w3c有詳細的介紹,看完就懂了。webkit指的是一種HTML排版引擎,做用就是把根據HTML和CSS的代碼顯示出頁面。最初是Apple公司的一個開源項目,他們自家的瀏覽器Safari有用。以後Google也使用這個排版引擎加上本身的V8 Javascript引擎創建了一個開源的瀏覽器項目Chromium,而且利用這個項目只作了自家的瀏覽器Chrome。同時這兩家在移動平臺上的瀏覽器也是用Webkit內核的。所以,隨着iOS和安卓移動終端的普及,用Webkit的瀏覽器也愈來愈多。而得益於Chromium引擎,在PC平臺上也有不少Webkit瀏覽器,好比360呀,世界之窗呀,楓樹瀏覽器呀,太陽花瀏覽器呀,搜狗瀏覽器呀,遨遊3呀,獵豹瀏覽器呀。基本上說本身是雙核,有什麼極速模式的,都是用的Chromium。相對應的,微軟的IE瀏覽器用的是Trident排版引擎,也就是常說的IE核心,火狐瀏覽器也有本身的Gecko排版引擎。而Apple的iBooks一樣也用了webkit做爲排版引擎,因此iBooks和webkit內核的瀏覽器有不少類似之處。而Sigil這個編輯軟件,用的則是Chromium,所以也是webkit內核的。看看Sigil的預覽模式就知道它確定是用的Chromium了。在CSS屬性能中,咱們經常能看到-webkit-,-moz-之類的前綴,這種就叫作瀏覽器私有前綴,是瀏覽器對於新CSS屬性的一個提早支持。-webkit-是webkit內核的,-moz-是Firefox Gecko內核,moz表明的是Firefox的開發商Mozilla。爲何要有私有前綴呢?由於制定HTML和CSS標準的組織W3C動做是很慢的。一般,有w3c組織成員提出一個新屬性,好比說圓角border-radius,你們都以爲好,可是w3c不會爲這個屬性制定標準,而是要走很複雜的程序,通過不少審查。而瀏覽器商不肯意等那麼久,他們以爲一個屬性已經夠成熟了,就會在瀏覽器中加入支持。可是避免往後w3c公佈標準時有所變動,就會加入一個私有前綴,好比-webkit-border-radius,經過這種方式來提早支持新屬性,等到往後w3c公佈了標準,border-radius的標準寫法確立以後,再讓新版的瀏覽器支持border-radius這種寫法。比方說,Chrome 10是不認border-radius這種寫法的,只能用webkit-border-radius,而Chrome12就能認了。因而在寫CSS的時候,這樣寫就能確保Chrome10和Chrome12瀏覽網頁的時候都可以正確顯示。