Xpoint
   [напомнить пароль]

Тень у прямоугольного блока в IE

Метки: [без меток]
2010-11-27 02:37:30 [обр] Alexey V.Zelenin(0/8)[досье]

http://www.italianofashion.com......41-test0001-test-products.html

Некоторые блоки имеют тени. В IE8 проявляется странный эффект - тени есть также у букв внутри блоков. С чем он связан - понять никак не могу.

Используется следующий CSS для отрисовки тени:

.with-shadow {
    -moz-box-shadow: 6px 6px 8px #CCC;
    -webkit-box-shadow: 6px 6px 8px #CCC;
    box-shadow: 6px 6px 8px #CCC;
    /* For IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color='#CCCCCC')";
    /* For IE 5.5 - 7 */
    filter: progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color='#CCCCCC');        
}

Ещё одна странность заключается в том, что тени добавляются только к некоторым блокам - например в блоке с "Our Price" тень не добавилась, а к предстоящему Item# - добавилась.

спустя 21 час [обр] Филипп Ткачев(0/115)[досье]
Alexey V.Zelenin[досье], может наследование происходит?
спустя 17 часов [обр] Lynn «Кофеман»(37/571)[досье]
Потому что фильтры в IE так устроены, что не действуют на прозрачные области.
Задайте фон блоку .with-shadow
спустя 5 минут [обр] Alexey V.Zelenin(0/8)[досье]
Филипп Ткачев[досье]
Уверен, что проблема в наследовании. А вот как избавиться от этого?
спустя 3 минуты [обр] Alexey V.Zelenin(0/8)[досье]

Lynn «Кофеман»[досье]
Прозрачный фон подойдёт? Потому как у меня это класс очень общий - может применяться к блокам с неизвестным заранее фоном.

И ещё не очень понял, что это даст? Ведь проблема - в том, что буковки внутри блока тоже обретают тени, что мне вовсе не нужно.

спустя 45 минут [обр] Lynn «Кофеман»(37/571)[досье]

Проблема не в наследовании.
Задайте, например зелёный фон у ячейки price и вы увидите, что тень отбрасывает всё, что не является прозрачным. Т.е, бордеры, буквы, блоки с фоном и т.п.

Повторяю ещё раз, фильтр shadow в IE, это не то же самое, что CSS-правило box-shadow.
Читайте документацию http://msdn.microsoft.com/en-us/library/ms533086%28v=VS.85%29.aspx

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

спустя 2 часа 12 минут [обр] Alexey V.Zelenin(0/8)[досье]

Lynn «Кофеман»[досье]
По ходу я просто упорно не желал видеть вполне конкретный и понятный ответ. Добавил background-color в определение класса .with-shadow и всё заработало. А если какой-то блок должен будет иметь другой фон, это будет просто переопределено.

Спасибо.

Powered by POEM™ Engine Copyright © 2002-2005