2013-04-22 20 views
0

預期不工作display屬性我有2條display規則,我不能去上班 我不能使用display屬性與IE版本< 10,我使用這個代碼:CSS - 與IE

Comments(<fb:comments-count href="http://mypage"/></fb:comments-count>) 

導致:

Comments(<fb:comments-count href="http://mypage" fb-xfbml-state="rendered" class=" fb_comments_count_zero"> 
    <span class="fb_comments_count"> 
     10 
    </span> 
</fb:comments-count>) 

有了這個CSS:

.fb_comments_count { 
    display: inline; 
} 

.fb_comments_count_zero { 
    display: inline; 
} 

它顯示:的

Comments(
10 
) 

代替

Comments(10) 

我試着也在發生變化

display:inline 

display:inline-block 

但它不工作。

我遇到的另一個問題是當我使用display:none。事實上,IE瀏覽器< 10並不隱藏我的造型,但IE10,Chrome,Opera和Firefox沒有這個問題。

我怎樣才能解決這個問題?

P.S.我更喜歡不能使用JavaScript,因爲即使JavaScript被禁用,我也希望我的網站看起來不錯。

+2

我想這是因爲''不是支持的標籤。我想這是一個Facebook標籤? – poepje 2013-04-22 12:45:33

+1

@poepje你是對的,它是一個用於在網站中添加評論的Facebook標籤,但是我沒有設計標籤樣式,我正在設計標籤的類,這應該被所有瀏覽器支持 – BackSlash 2013-04-22 12:47:24

+1

很明顯''正在使用'display:block'進行樣式化。這將是未知元素的默認值(特別是在較舊的IE版本中,未知元素無法正常播放)。你使用的是什麼類型的文檔(如果你使用的是xhtml文檔類型,它將把''元素作爲一個帶有名稱空間的嵌入式XML元素;這可能會給你不同的HTML佈局默認值doctype。無論哪種方式,我的首選解決方案是將其從呈現的HTML輸出中刪除,除非你真的需要它在那裏。 – Spudley 2013-04-22 12:50:35

回答

0

您在CSS中使用破折號而不是下劃線。

.fb-comments-count { 
    display: inline; 
} 

嘗試將其更改爲:

.fb_comments_count { 
    display: inline; 
} 
+1

這不是問題,它只是一個錯字 – BackSlash 2013-04-22 12:42:03

0

Internet Explorer將不會樣式是不知道的任何元素。這就是爲什麼有一個HTML5墊片的JavaScript;通知IE新的HTML5元素(將它們插入到DOM中)。其他瀏覽器不會有這個問題。

0

我不完全確定FBML是如何在最後得到渲染的,但是較老的IE不能識別自定義標記,並且不會將css應用於它們,所以這可能是問題所在。您需要"register" the tags to the IE

你也應該避免的換行符在跨度:

<span class="fb_comments_count">10</span> 

這已經可以解決您的第一個問題,如果不嘗試應用white-space:nowrap;

+0

我嘗試過,但我無法得到它的工作......我試着在這裏(用'|'分隔)的標籤列表中添加'fb'和'fb-comments',但在'fb:comments元素仍然被忽略 – BackSlash 2013-04-22 13:24:36

0

即一直有與制動系一個問題,即它不應該嘗試添加這對你的CSS

空白:NOWRAP;

如果這不起作用,那麼請告訴我會發生什麼。
我以前有過這些問題,所以它不只是你。
也嘗試將您的fb標籤包裝在p標籤中,然後在p標籤中添加一種選擇樣式。