Internet Explorer 9 теперь поддерживает и правило непрозрачности, и правило фильтра.
Это вызывает проблему.См. Пример
HTML
<!DOCTYPE html>
<html>
<head>
<title>To standard or not to standard</title>
<script src="http://code.jquery.com/jquery-1.7.1.js"></script>
<style type="text/css">
form, table { opacity: 0; filter: alpha(opacity=0); }
</style>
</head>
<body>
<form action="javascript:">
Now you see me...
<table><tr><td>Now you don't!</td></tr></table>
</form>
<script>
$('form, table').animate({
opacity: 1
});
</script>
</body>
</html>
Если вы посмотрите это в IE9, таблица исчезнет, как только анимация завершится
(будьте осторожны, если вы перезагрузите, он может переключиться на стандарты документов IE7, вернуться к IE9 с помощью инструментов F12)
Проблема вызвана встроенным CSS, использующим только стандартное правило opacity
, а не правило filter
.
Обратите внимание, что у родительской формы нет проблем.
В реальном мире непрозрачность таблицы анимируется только после завершения асинхронной операции.Вот почему я не могу поставить непрозрачность только на стол.
Как бы вы предложили мне преодолеть это?Я думал, может быть, условный код версии IE в CSS, или, возможно, какой-то дополнительный JavaScript.Я также мог бы прекратить использовать таблицу, которая кажется , чтобы исправить это, но я хотел знать, что вы порекомендуете.
Редактировать: На случай, если вы удивитесь, почему яЯ использую таблицу.
Я использую следующую раскладку.
label A: [input ]
label Second: [input ] [button]
Преимущества, которые я здесь нахожу:
- Первый столбец автоматически устанавливает ширину равнойсамая широкая метка.
- Высота строки автоматически определяется наибольшим элементом, в данном случае это будет кнопка.
- Метка расположена вертикально по центру, что более удобно при выравнивании поinput.
Альтернатива A: Div float left align right right.Со скрытой кнопкой видимости в первом ряду, чтобы получить пустое пространство точной ширины для последовательного выравнивания.
Альтернатива B: Плавающие делители с жестко заданной шириной для меток и фиксированнымвысота строки для вертикального выравнивания и желаемой высоты строки.