фоновые градиенты в IE7 с CSS - PullRequest
       26

фоновые градиенты в IE7 с CSS

8 голосов
/ 31 августа 2011

Я использую следующий бит CSS для создания линейного градиента фона.Кажется, что он отлично работает в IE8 / 9, FF, Safari и Chrome, но не в IE7.IE7 показывает сплошной (зеленый) фон.Вот мой код

.menu_body a {
  display:block;
  color:#006699;
  background: #008800;
  /* Mozilla: */
  background: -moz-linear-gradient(top, #0b71a4, #025f8e);
  /* Chrome, Safari:*/
  background: -webkit-gradient(linear,
            left top, left bottom, from(#0b71a4), to(#025f8e));
  /* MSIE */
  filter: progid:DXImageTransform.Microsoft.Gradient(
            StartColorStr='#0b71a4', EndColorStr='#025f8e', GradientType=0);
  padding: 1px 18px;
}   

Ответы [ 3 ]

18 голосов
/ 31 августа 2011

В IE <= 7 фильтры не будут работать, если элемент не имеет <a href="http://www.satzansatz.de/cssd/onhavinglayout.html" rel="noreferrer"> layout .

zoom: 1;

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

Также обратите внимание, что в вашем CSS отсутствуют свойства градиента для Opera, IE10 и обновленный синтаксис для Webkit.

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

Правильный синтаксис:

filter: progid:DXImageTransform.Microsoft.gradient
(startColorstr=#550000FF, endColorstr=#55FFFF00)

Это поддерживается IE4>

См. Источник MSDN здесь .

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

Я не уверен, что параметры этого преобразования чувствительны к регистру - но, как и большинство других CSS, вы можете попробовать:

startColorstr='#0b71a4', endColorstr='#025f8e'

Обратите внимание на начальный символ в нижнем регистре и суффикс str в нижнем регистре.

...