2010-01-13 59 views
3

對於HTML創建此報告& CSS左邊框消失在IE 7 & 6.他們正確地顯示在IE 8,火狐,Chrome,Opera等缺少左邊框在IE 7

我正在申請的風格,三種不同的CSS類:

.LeftBorder 
{ 
    border-left: 1px solid black; 
} 
.LeftBorderHeadingShaded 
{ 
    background-color: gray; 
    color: black; 
    text-align: left; 
    font-weight: bold; 
    border-top: 2px solid black; 
    border-left: 1px solid black; 
} 
.noshadeLeftBorder 
{ 
    background-color: white; 
    border-left: 1px solid black; 
} 

而且這些類應用於特定的TR和TD標籤,但左邊框沒有出現在任何這些。一些底部的邊界被忽略了,但那不是什麼大問題。

我做了一個屏幕截圖,並排顯示IE 7,6和8。我繞過了問題區域。這裏是full HTML/CSS

Internet Explorer sucks at CSS http://www.mckeeth.org/test/missing-border.png

+1

請記住IE6有相同元素的多個類的麻煩。這似乎不是你的問題的原因,因爲它不能在IE 7中工作,但仍然。 – 2010-01-13 23:03:04

+0

我只爲每個元素應用一個類。不同的元素只有不同的類。 – 2010-01-13 23:09:34

+0

爲了闡明Pekka所說的內容,不是像'

'這樣的多個類的元素,而是像'div.class-one.class-two {/ * properties * /}'一樣在css中使用多個類選擇器。這個選擇器應該正確評估(並且在FF,Safari中),但在IE中不起作用。 – prodigitalson 2010-01-14 00:37:42

回答

2

EDIT

那麼該選擇器僅僅意味着「應用屬性的是與這個類LeftBorder一個tr元素的子類型td的元素」。如果那對你的結構不正確,我爲這個混淆而道歉,我只看到了你在fire bug中的代碼,並且看到了LeftBorder類的tr。底線是,雖然你需要申請邊界td和/或table ...不是tr

那麼首先我不認爲你想像上邊框應用到tr他們在TD所以你需要針對他們像tr.LeftBorder td

+0

+1 Yup,'tr'上的'border'肯定是錯誤的。 – 2010-01-13 23:03:57

+0

解決的辦法是將** LeftBorder *樣式應用到** TR **中的第一個** TD **。當然,其中一些樣式也有其他格式,但它會起作用。 – 2010-02-03 01:13:47