IE и прозрачные фоны - PullRequest
       35

IE и прозрачные фоны

1 голос
/ 31 августа 2009

У меня есть следующее css:

body {
     background-image: url(images/background.jpg);
     background-repeat: repeat-x;
     background-color: #99ccff;
}

К сожалению, любой div, созданный на этой странице, теперь автоматически имеет этот цвет. Ни одно из следующих действий не работает, если оно применяется к любым элементам div на странице (оно по-прежнему принимает вышеуказанный цвет.

bacgkround: none;
background: transparent;
bacgkround-color: none;
background-color: transparent;

Кто-нибудь знает, как обойти это (в IE)? т.е. как сделать div прозрачным или НЕ иметь фоновый цвет?

EDIT: Я загрузил скриншот здесь: http://www.namhost.com/bgtrans.jpg По сути, фон представляет собой градиентное изображение, изменяющее цвет от ТЕМНО-синего до светло-голубого, являющегося фоном. В Firefox область с надписью Брэдда Питта прозрачна, и вы не видите синий контур. Однако в IE вы видите то, что видите на этом скриншоте.

Вот скриншот того, что можно увидеть в Firefox: http://www.namhost.com/bgtransfirefox.jpg

Ответы [ 5 ]

2 голосов
/ 31 августа 2009

не уверен, что здесь идет не так (если что-то идет вообще не так), прозрачный и ни один из них не означает, что у div не должно быть своего собственного цвета, и поэтому вы увидите через div на фоне родительского контейнера .... если ни у одного из родителей нет цвета, то вы увидите фон тела / страницы

1 голос
/ 31 августа 2009

Ваше предположение о цвете фона кажется неправильным.

Создание прозрачного фона означает, что вы получите фон базового элемента. Я думаю, что в этом случае это элемент вашего тела. Поскольку вы установили цвет фона для тега body, все элементы с прозрачным цветом фона будут отображать цвет фона тела.

Edit:

Прочитав ваш комментарий к ответу, приведенному выше, я хотел бы узнать, отображается ли путь к изображению, а ширина и высота изображения охватывают весь элемент тела.

0 голосов
/ 31 августа 2009

не уверен, что вы ожидали. Я получаю согласованное поведение в Firefox и IE для этого кода:

<html>
<style>
body
{
    background: green;
}
.a
{
    bacgkround-color: none;
}
</style>
<body>
<div class="a">hello</div>
<div>world</div>
</body>
</html>

Если это более сложный сценарий, использовали ли вы debugBar для проверки примененного стиля или хотя бы FireBug в Firefox, чтобы увидеть, что на самом деле применяется?

0 голосов
/ 31 августа 2009

Но я думаю, что так и должно быть.

Если div не назначен цвет фона, цвет фона тела будет видимым.

Особенно , если вы говорите, что фон div прозрачен.

0 голосов
/ 31 августа 2009

Если бы вы могли использовать сторонний инструмент, JQuery предоставляет эту функцию:

http://mihaistancu.wordpress.com/2008/08/02/cross-browser-transparent-background-with-jquery-no-css-hacks-no-png-files/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...