Я использую CSS box-shadow
для имитации фона, который "истекает кровью" к краям окна браузера. Он отлично работает в Chrome, Firefox, Safari и Internet Explorer 9 и 10. Однако Internet Explorer 11 делает прозрачным 1px "пространство" перед левой (отрицательной) коробкой-тенью.
Возьмите этот HTML:
<div class="wrapper">
<div class="widget">Test</div>
</div>
И этот CSS:
.wrapper {
background:red;
padding:20px 0;
}
.widget {
width:600px;
height:400px;
margin:0 auto;
text-align:center;
background:white;
box-shadow:20em 0 0 0 white, -20em 0 0 0 white;
}
В большинстве браузеров widget
DIV имеет белый фон и белые тени влево и вправо, которые заполняют ширину окна браузера без пробелов, разрывов или красных от кровотечения обертки. В IE11 есть 1px красная линия, которая выполняется вертикально вдоль левой части widget
DIV.
Взгляните на эту скрипту для примера: http://jsfiddle.net/Bxsdd/. (Возможно, вам придется вручную настроить ширину панели результатов скрипта, поскольку небольшие различия в ширине окна показывают проблему более явно - опять же, только в IE11.)
Вещи, которые я попытался удалить прозрачным пространством:
- Изменение
box-shadow
с помощьюem's
на использованиеpx's
- Добавление или вычитание 1px из других атрибутов
box-shadow
- Добавление границы вокруг
widget
DIV - Настройка
padding
,display
,position
и других элементов CSS для виджета - Так много вещей, которые я даже не могу вспомнить прямо сейчас
Любые идеи о том, как удалить прозрачное пространство 1px в IE11?