PNG и IE6 Или сцуки с Microsoft

Старый mweb

Модератор: [mweb team]

PNG и IE6 Или сцуки с Microsoft

Сообщение Vavan Пн дек 17, 2007 17:44

Неделю бьюсь, пол инета перекопал а толку нет. Прошу Вашей помощи. Только не надо говорить что png в задницу. Это так, вступление. -01-
Перечитал предварительно похожие темы на форуме.

Вообщем так. Имеется табличный диз с фиксированным фоном расположенным по центру. Таблица 950px и вверху ячейка 150px по высоте. В эту ячейку ставлю фоновую PNG картинку шапки сайта с альфа каналом. Ну стесно что опера и мозила всё это выдают шеколадно а долбанный ишак 6 никак. Если делаю отдельно с картинкой 1х1px и с файликом хх.htc то работает но как только прикручиваю к странице перестаёт. Нашел другой вариант но тоже не сахар. Может уже мозги запутались, гляньте что я не так делаю.

Это ячейка таблицы куда я пихаю фоновый рисунок:
Код: Выделить всё
<td valign="bottom" class="bottomCell" colspan="3"></td></tr>


А это кусок класса:
Код: Выделить всё
body {
margin:   0px; /* Убираем отступы */
padding: 0px; /* Убираем поля */
background: #2388ce; background-image: url(images/fon.jpg);
background-repeat: repeat-x;
background-attachment: fixed; /* фиксируем фон страницы */
}

.tab1 { width: 950px; padding: 0; margin:0 auto; } /* Ширина таблицы, ценровка */
TD.bottomCell {background: url("images/header1.png") no-repeat; height: 150px; width: 950px;}
* html .bottomCell{
  background: none;
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="images/header1.png");   
}


Уже злаза свёртываются в трубочку.
Да, забыл добавить. Все что возможно перенесено в таблицу стилей. Это и размеры таблиц, ячеек. Фоны, привязки и др.
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан

Сообщение Muerto Пн дек 17, 2007 19:30

Первое, что приходит на ум - проверь правильность пути src="images/header1.png". По коду косяков не нашел. Кинь страницу в инет - посмотреть поведение вживую.
P. S. С возвращением на форум!
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Vavan Пн дек 17, 2007 20:59

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

P.S. Спасибо! Действительно очень долго не заходил. Времени не было.
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан

Сообщение Muerto Пн дек 17, 2007 21:40

Прямо не знаю, может sizingMethod в фильтр добавить?
Код: Выделить всё
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/header1.png,sizingMethod=scale);

Иногда помогают самые идиотские изменения... -03-
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Alkeeper Пн дек 17, 2007 22:19

В тему: sizingMethod может принимать три значения:
1. crop
2. scale
3. image

Пы.Сы. Это обязательный атрибут
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Vavan Вт дек 18, 2007 15:04

Вообщем так. Не пошел скрипт что выше приведён. Возможно что то не так делаю но на отдельно созданной странице работает.
Ладно, я пошел по другому пути, с применением 1х1px - ного прозрачного GIF.
Может кому пригодится, чтоб не выёживаться долго, привожу свой пример, проверен, работает на 100%

Вот скрипт:
Код: Выделить всё
<script type="text/javascript">
function transparent(im)
   {
   if (!im.transparented && (/\.png/.test(im.src)))
      {
      im.transparented = 1;
      var picture = im.src;
      var w = im.width;
      var h = im.height;
      im.src = "images/blank.gif";
      im.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod='scale', src='" + picture + "');";
      im.width = w;
      im.height = h;
      }
   return "transparent";
   }
</script>


Картинка в ячейке:
Код: Выделить всё
<td valign="bottom" class="head" colspan="3"><img src="images/header.png" class="transparent"></td>


А это пишем в таблицу стилей:
Код: Выделить всё
* html img.transparent { height: 150px; width: 950px; background:expression(transparent(this)); }
TD.head          {width: 950px; height: 150px;}


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

Ставим и радуемся, работает во всех брозверях. Всем удачи.
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан

Сообщение Alkeeper Ср дек 19, 2007 7:12

Чтоб правильно картинку подогнать без расчета ширины и высоты, нужно ставить sizingMethod='image'
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Vavan Ср дек 19, 2007 10:46

to Alkeeper, Табачный магнат как всегда прав! Точно так и есть. Спасибо за подсказ.
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron