我有一個表格,每個邊框設置爲1px寬度。 我希望頂部,左側和底部邊框爲黑色,右側邊框爲白色。 所以,我用這個CSS代碼邊框顏色順序
border-right-color: white;
border-left-color: black;
border-top-color: black;
border-bottom-color: black;
border: solid 1px;
問題就來了IE9中,其中右上角的像素將是白色的,但右下角會變黑。
我懷疑問題就來形成的方式IE9重組的風格,因爲當我看着我的表在developper工具控制檯的CSS,它被下令這樣的:
border-top-color: black;
border-right-color: white;
border-bottom-color: black;
border-left-color: black;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
這讓我覺得也就是說,用於定義顏色的順序使頂部邊框變爲黑色,然後右邊框變爲白色(覆蓋右上角),然後底部邊框變爲黑色(覆蓋右下角)和finnaly左邊框左邊是着色的。
問題是,在白色背景上,頂部和底部邊框看起來不是相同的長度(一個像素)。它可能並不多,但我需要這兩個邊框以適合我的頁面上的其他行。
那麼,我該如何解決這個問題?是否真的關於邊框顏色的順序,如果是這樣,我怎麼能改變它?
瀏覽器在外角處畫出一條對角線,並將顏色偏移發生在內角。如果border-width設置爲1px,則瀏覽器無法分割它,所以IE選擇右上角的像素爲白色,FF - 右下角。 CSS3規範沒有說明瀏覽器應該如何處理連接。通過刪除右邊框,不會呈現對角線。你可以看到它更好,如果你設置高度:0;並嘗試製作一些CSS三角形。 – jasssonpet
對於非表格,'border-right-style:hidden'基本上是'border-right-style:none'。看看'border-right-color:transparent'是否會產生不同的結果? – BoltClock
它可能是這樣,你實際上並不想要正確的邊界是白色的,但實際上看不見(與背景相同)或根本沒有邊界? – Guffa