0

我有一个 divbackground-color和一个 3 像素的白色边框。

当我将html元素设置为direction:rtlandoverflow-y: scroll时,我会在边框右侧获得一个背景像素 - 仅在 IE9 中:

在此处输入图像描述

我在这里粘贴我的代码,因为在 JsFiddle 上我无法复制该错误。

<!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 规则...

4

2 回答 2

1

我用头撞墙了几个小时,最后我用一种很奇怪的方式解决了它......将.main的宽度更改为961px,似乎微软不知道如何找到一个“中间”均匀范围。

于 2013-03-07T01:24:08.250 回答
1

我只能通过设置溢出来修复它:隐藏在包含元素上并进行负边距黑客攻击:

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

您可能还想将 sld-menu-item 的宽度设置为 961px。大概可以把它放在一个 IE9 条件语句中。我希望有更好的方法来解决这个问题。

于 2012-08-26T06:58:34.960 回答