CSS для замены изображения

Gmail разрешает только знак + как специальный символ, а в некоторых случаях (.), Но любые другие специальные символы не разрешены в Gmail. В RFC говорится, что вы можете использовать специальные символы, но вам следует избегать отправки почты в Gmail со специальными символами.

6
задан MikeNereson 3 July 2009 в 19:56
поделиться

5 ответов

Немного поработав, я понял это!

img.someclass {
  background: url("NEW IMAGE URL") top right;
  height: 0;
  width: 0;
  padding: 200px 550px 0 0; /* Insert actual image size (height width 0 0) */
}

Это сделает высоту и ширину фактического изображения равными 0, но расширит поле, чтобы заполнить размер изображения с обивкой. Единственным недостатком этого является то, что он не будет идеально выглядеть в старых версиях Internet Explorer.

6
ответ дан 17 December 2019 в 04:50
поделиться

Если у вас есть элемент, окружающий изображение, например DIV, вы должны иметь возможность установить для него фоновое изображение (вместе с отсутствием повтора и положение), а затем установить для изображения значение дисплей: нет .

В качестве альтернативы, вот случайное решение, которое, похоже, работает. Он помещает изображение за пределы экрана, а затем использует псевдоэлемент : after для установки фонового изображения. Он должен быть работоспособным, но вам нужно будет поиграть со значениями, чтобы он работал правильно. Однако это не будет работать в IE6.

<style>
  img.test {
    background: url('image_to_show.png') no-repeat right top;
    position: relative;
    left: -16000px;
  }
  img.test:after {
    content: ".";
    color: transparent;
    display: block;
    width: 16000px;
  }
</style>

<img class="test" src="image_to_hide.png">
2
ответ дан 17 December 2019 в 04:50
поделиться

Лучший способ заменить изображения - это установить положение фона. Сначала создайте два разных изображения и поместите их одно над другим на одном изображении. Скажем, ваш скин-элемент 50x50 пикселей, вы создадите изображение 50x100.

Затем используйте какой-нибудь код вроде этого:

.skinElement1 {
  background: #fff url("image.png") no-repeat 0 0;
}
.skinElement2 {
  background: #fff url("image.png") no-repeat 0 -50px;
}

Итак, чтобы просмотреть второе изображение, вы перемещаете фон вверх на требуемую величину. Вы можете использовать javascript или код на стороне сервера для установки соответствующего класса.

0
ответ дан 17 December 2019 в 04:50
поделиться

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

например:

.firsImage { background:transparent url(/images/someImage.jpg) no-repeat; }
.secondIMage { background:transparent url(/images/image2.jpg) no-repeat; }

HTML:

<div id="imageDiv" class="firstImage"> some content </div>
<a onclick="changeImage()">Change the image!</a>

Javascript:

function changeImage(){
    var imageDiv =  document.getElementById("imageDiv")

    if ( imageDiv.className === "firsImage" )
        document.getElementById("imageDiv").className = "secondImage"
    else
        document.getElementById("imageDiv").className = "firstImage"
}
-2
ответ дан 17 December 2019 в 04:50
поделиться

Может быть, вы можете установить непрозрачность элемента, а затем установить фон на желаемое изображение.

Musicfreak: Я имел в виду использование ДВУХ элементов.

-1
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: