2012-08-26 162 views
0

我有一個background-color的div和一個3像素的白色邊框。在IE9邊框右側顯示背景

當我html元素設置爲direction:rtloverflow-y: scroll,我得到的背景,邊框右側的像素 - 只有在IE9:

enter image description here

我在這裏貼上我的代碼,因爲在JsFiddle上我無法複製這個bug。

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <style> 
      html { 
       overflow-y: scroll; 
       direction:rtl; 
      } 
      .main { 
       margin: 0 auto; 
       width: 960px; 
      } 
      .sld-menu-item { 
       height: 85px; 
       border: 3px solid #fff; 
       background-color: #d25188; 
      } 
    </style> 
</head> 
<body> 
    <div class="main" role="main"> 
     <div class="sld-menu-item sld-menu-item-2"> 
     </div> 
    </div> 
</body> 

有沒有人遇到這個問題,和/或可有人提出一個解決辦法?我不能放棄滾動和RTL規則...

回答

1

我只能通過設置溢出來解決它:隱藏在包含的元素,並做陰性切緣黑客:

.main { 
    overflow: hidden; 
} 
.sld-menu-item { 
    margin-right: -1px; 
} 

您也可能然後想設置sld-menu-item的寬度爲961px。大概可以把它放在IE9條件語句中。我希望有更好的解決方法。

1

我把頭撞在牆上好幾個小時,最後我用一種很奇怪的方式解決了它... 將.main的寬度改爲961px,似乎微軟並不知道如何找到甚至範圍的「中間」。