Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Позиционирование прозрачного PNG-бэграунда в IE


Автор: AtaL 1.12.2006, 12:30
Есть таблица большого размера, в ней в определенном месте должен быть размещен прозрачный PNG-бэграунд.

С мозиллой и оперой все просто, они прозрачность пнг поддерживают автоматом. С эксплорером не выходит.

Метод, который использован сейчас:

Код

<table cellspacing="0" cellpadding="0" 
style="
width: 100%; 
background: url('img/moving_bacgrounds/bumaga.png') no-repeat top center; 
background: expression('none'); 
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/moving_bacgrounds/bumaga.png', SizingMethod='crop');">



Бэграунд в IE получается прозрачным, но размещается слева. А должен быть в центре.

Разместить в таблице див-элемент и задать бэграунд в нем нельзя.

Есть ли способ решить задачу?

Автор: SelenIT 1.12.2006, 13:17
Цитата(AtaL @  1.12.2006,  12:30 Найти цитируемый пост)
Разместить в таблице див-элемент и задать бэграунд в нем нельзя.

А наоборот - разместить таблицу в див-элементе?

Автор: AtaL 1.12.2006, 13:33
Не выйдет.

Там фишка в том, что есть куча вложенных друг в друга таблиц, в каждой - бэграунд, и при растягивании страницы предметы в бэграундах перемещаются друг относительно друга, в том числе и перекрывая друг друга.

Полный текст примерно такой:

<table [background - center]>
      <td width 60% [background -  right]>
             <table width 40% [background -  right]>
                     <table width 40% [background -  right]>
      <td width 40% [background -  left]>
             <table width 40% [background -  left]>
                     <table width 40% [background -  left]>
</table>

Общая концепция - предметы перемещаются по столу, сохраняя некую точку схода в перспективе.

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

Автор: SelenIT 1.12.2006, 14:26
AtaL, я имел в виду следующее: внешняя таблица с прозрачным фоном находится в диве того же размера, имеет position:relative и z-index: 2, внутри нее все остается по-старому. В тот же внешний div вложен другой div с png-фильтром, position:absolute (относительно внешнего div-а), z-index:1 и пересчитывамыми при ресайзе таблицы и, соответственно, внешнего div-а, координатами. Поскольку все будет происходить только под IE, имхо можно вынести это все в htc и подключать как стиль на таблицу...

Автор: AtaL 1.12.2006, 17:54
Не вышло. Но способ добиться своего мы таки придумали, так что тему закрываю. В любом случае спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)