В восьмой версии Internet Explorer ожидается масса изменений, есть и такие, которые касаются CSS. Хороший разработчик должен стараться знать о возможностях различных браузеров, поэтому css-нюансы нового IE считаю интересными. На официальном блоге разработчиков internet explorer появилась статья «Microsoft CSS Vendor Extensions», в которой достаточно подробно излагаются css-изменения.
Ниже под катом я привел основную информацию по изменениям и нововведениям.
В первую очередь, необходимо рассказать о том, что Микрософт изменила порядок именования некоторых свойств css. Теперь все «нестандартные свойства» получают префикс "-ms-". Для того, чтобы полностью соответствовать css 2.1 в IE 8 такой префикс получили свойства подходящие под следующие условия:
Вот список свойств, которые получили приставку "-ms-" (с указанием причины):
Разработчики понимают, что для многих сайтов придется переводить старые значения на новые, поэтому старые значения, хотя и будут считаться устаревшими, будут поддерживаться в восьмой версии ради совместимости. При разработке же нового кода для IE 8 следует использовать только новые именования.
Изменения коснулись такого свойства, как filter. Ранее, к сожалению, синтаксис filter не соответствовал CSS 2.1. Например, в указанном коде запятые считались недопустимыми.
В новой версии браузера синтаксис filter приведен к соответствию требованиям спецификации CSS:
нетрудно заметить, что в новом синтаксисе значение свойства взято в кавычки.
Ниже под катом я привел основную информацию по изменениям и нововведениям.
В первую очередь, необходимо рассказать о том, что Микрософт изменила порядок именования некоторых свойств css. Теперь все «нестандартные свойства» получают префикс "-ms-". Для того, чтобы полностью соответствовать css 2.1 в IE 8 такой префикс получили свойства подходящие под следующие условия:
- если свойство — это расширение Микрософт (не определено в спецификации или модуле CSS);
- если свойство — часть CSS-спецификации или модуля, которая не получила статус Candidate Recommendation от W3C;
- если свойство только частично реализовывает свойство определенное в спецификации CSS.
Вот список свойств, которые получили приставку "-ms-" (с указанием причины):
Property | Type | W3C Status |
-ms-accelerator | Extension | |
-ms-background-position-x | CSS3 | Working Draft |
-ms-background-position-y | CSS3 | Working Draft |
-ms-behavior | Extension | |
-ms-block-progression | CSS3 | Editor's Draft |
-ms-filter | Extension | |
-ms-ime-mode | Extension | |
-ms-layout-grid | CSS3 | Editor's Draft |
-ms-layout-grid-char | CSS3 | Editor's Draft |
-ms-layout-grid-line | CSS3 | Editor's Draft |
-ms-layout-grid-mode | CSS3 | Editor's Draft |
-ms-layout-grid-type | CSS3 | Editor's Draft |
-ms-line-break | CSS3 | Working Draft |
-ms-line-grid-mode | CSS3 | Editor's Draft |
-ms-interpolation-mode | Extension | |
-ms-overflow-x | CSS3 | Working Draft |
-ms-overflow-y | CSS3 | Working Draft |
-ms-scrollbar-3dlight-color | Extension | |
-ms-scrollbar-arrow-color | Extension | |
-ms-scrollbar-base-color | Extension | |
-ms-scrollbar-darkshadow-color | Extension | |
-ms-scrollbar-face-color | Extension | |
-ms-scrollbar-highlight-color | Extension | |
-ms-scrollbar-shadow-color | Extension | |
-ms-scrollbar-track-color | Extension | |
-ms-text-align-last | CSS3 | Working Draft |
-ms-text-autospace | CSS3 | Working Draft |
-ms-text-justify | CSS3 | Working Draft |
-ms-text-kashida-space | CSS3 | Working Draft |
-ms-text-overflow | CSS3 | Working Draft |
-ms-text-underline-position | Extension | |
-ms-word-break | CSS3 | Working Draft |
-ms-word-wrap | CSS3 | Working Draft |
-ms-writing-mode | CSS3 | Editor's Draft |
-ms-zoom | Extension |
Разработчики понимают, что для многих сайтов придется переводить старые значения на новые, поэтому старые значения, хотя и будут считаться устаревшими, будут поддерживаться в восьмой версии ради совместимости. При разработке же нового кода для IE 8 следует использовать только новые именования.
Свойство filter
Изменения коснулись такого свойства, как filter. Ранее, к сожалению, синтаксис filter не соответствовал CSS 2.1. Например, в указанном коде запятые считались недопустимыми.
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80, FinishOpacity=70, Style=2);
В новой версии браузера синтаксис filter приведен к соответствию требованиям спецификации CSS:
-ms-filter: «progid:DXImageTransform.Microsoft.Alpha(Opacity=80, FinishOpacity=70, Style=2)»;
нетрудно заметить, что в новом синтаксисе значение свойства взято в кавычки.