Свойство CSS-фильтра в IE7 не будет закрыто - PullRequest
1 голос
/ 13 октября 2010

Я использую проприетарное свойство ms css «filter» для управления непрозрачностью элемента.

#square2
{
    filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
    zoom:1;
    padding:10px;
    border:solid 5px #0cc;
    height:200px;
    width:400px;
    background-color:#cc0;
    color:#c0c;
    font-size:2em;
}  

Проблема выделена в IE7 (работает IE8 в режиме браузера IE7). Свойство фильтра не считается закрытым для парсера. Следовательно, свойство фильтра содержит все остальные свойства, которые его заменяют.

Я хотел опубликовать снимок экрана, но нубы не разрешены!

Я понимаю, что могу просто переместить свойство фильтра в конец селектора css, но это упрощенная версия проблемы - и это нереальное решение.

Проблема усугубляется, когда за ней следует другой селектор CSS. Сам новый селектор css попадает в свойство фильтра предыдущего селектора. Новый селектор тогда вообще не действует, как будто его там не было.

Я просто хочу, чтобы IE7 распознал, где находится конец свойства фильтра.

Ваша помощь очень ценится.

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 октября 2010

Вы не ставите кавычки вокруг этого в своем объявлении CSS. Just

filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);

Источник: http://msdn.microsoft.com/en-us/library/ms532967(VS.85).aspx

1 голос
/ 13 октября 2010

Избегайте проблем с синтаксисом IE7 / IE8 "quotes-vs-no-quotes", используя упрощенную форму альфа-фильтра:

filter: alpha(opacity=50);
0 голосов
/ 13 октября 2010

Альфа-фильтр был просто для упрощения проблемы (я действительно использую матричный фильтр), чтобы это исправление не применялось.

Исправление кавычек / без кавычек тоже не работало, поэтому ответЯ решил удалить стиль фильтра из таблицы стилей и поместить его в тег стиля на главной странице.Это позволило мне использовать для умножения селекторов со свойством фильтра - каждый в своем собственном теге стиля на странице.

<html>
<head>
<style type="text/css">
      #square2{padding:10px;filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";}
</style>
</head>
</html>

Это заставило синтаксический анализатор IE7 распознавать конец свойства, но имеет недостаток:поддерживать стиль в нескольких местах.

Ник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...