Bootstrap 3.1, градиент без ошибок микширования на IE8 и 9

У меня есть проблема с градиентным миксином для браузеров ie8 и 9, потому что градиентный миксин, похоже, имеет небольшую ошибку, потому что шестнадцатеричный код из градиента имеет много символов, полученных в результате загрузочного миксина. Если кто-то решил эту проблему и решил ее, пожалуйста, поделитесь. Это меньше mixin от начальной загрузки:

  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+
    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
    background-repeat: repeat-x;
    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
  }

переменные:

@table-header1: rgba(155,214,45,0.65);
@table-header2: rgba(123,192,67,0.99);

Меньше:

.table {
  thead tr {
     font-weight:normal;
     #gradient > .vertical(@table-header1 , @table-header2);
       th {
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
        color: @asf-table-th-color;
        border-color:#428BCA;
        border-width: 1px;
        font-weight:bold;
     }
   }
}

И это результат этого миксина:

  .table thead tr {
      font-weight: normal;
      background-image: -webkit-linear-gradient(top, rgba(155, 214, 45, 0.65) 0%, rgba(123, 192, 67, 0.99) 100%);
      background-image: linear-gradient(to bottom, rgba(155, 214, 45, 0.65) 0%, rgba(123, 192, 67, 0.99) 100%);
      background-repeat: repeat-x;
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a69bd62d', endColorstr='#fc7bc043', GradientType=0);
     }

Теперь, если вы посмотрите внимательно, шестнадцатеричный код, т.е. фильтр градиента имеет много символов

это пример градиента ie8 с правильным шестнадцатеричным кодом:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 );

1 ответ

Ваш пример правильного шестнадцатеричного значения неверен, как вы можете видеть по адресу http://msdn.microsoft.com/en-us/library/ms532930(v=vs.85).aspx StartColorStr должен иметь значение:

Цвет выражается в формате #AARRGGBB, где AA - это шестнадцатеричное значение альфа, RR - шестнадцатеричное значение красного цвета, GG - шестнадцатеричное значение зеленого цвета, а BB - шестнадцатеричное значение синего цвета. Альфа-значение контролирует непрозрачность объекта. Значение альфа 00 прозрачно, а значение FF непрозрачно. Строковый ввод за пределами шестнадцатеричного диапазона вернется к значению по умолчанию (#FF0000FF).

Другие вопросы по тегам