Я помітив цей CSS-код у проекті:
html, body { :)width: 640px;}
Я давно працюю з CSS, але раніше не бачив цього ":)" коду. Це щось означає чи це просто друкарська помилка?
Я помітив цей CSS-код у проекті:
html, body { :)width: 640px;}
Я давно працюю з CSS, але раніше не бачив цього ":)" коду. Це щось означає чи це просто друкарська помилка?
Відповіді:
З статті на javascriptkit.com , що застосовується для IE 7 та більш ранніх версій:
якщо ви додасте не алфавітно-цифрові символи, такі як зірочка (
*
) безпосередньо перед назвою властивості, властивість буде застосовано в IE, а не в інших браузерах.
Також є злом для <= IE 8 :
div {
color: blue; /* All browsers */
color: purple\9; /* IE8 and earlier */
*color: pink; /* IE7 and earlier */
}
Однак це не гарна ідея, вони не підтверджують. Ви завжди можете працювати з умовними коментарями для націлювання на конкретні версії IE :
<!--[if lte IE 8]><link rel="stylesheet" href="ie-8.css"><![endif]-->
<!--[if lte IE 7]><link rel="stylesheet" href="ie-7.css"><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="ie-6.css"><![endif]-->
Але для тих, хто хоче побачити хак по-справжньому, відкрийте цю сторінку в останній версії IE у вас. Потім перейдіть до режиму розробника, виконавши F12. У розділі Емуляція ( ctrl+ 8) змініть режим документа 7
і подивіться, що відбувається.
Властивість, яка використовується на сторінці, є :)font-size: 50px;
.
:
означає щось інше? Інакше я не можу поставити *********************font-size: "150%";
тощо?
Схоже, хакер CSS орієнтується на браузери IE7 та попередні версії. У той час як це є недійсним CSS і браузери повинні ігнорувати це, IE7 і раніше буде аналізувати і виконувати це правило. Ось приклад цього злому в дії:
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (ігнорує правило)
IE7 (застосовує правило)
Зауважте, що це не повинно бути смайликом; BrowserHacks згадує:
Будь-яка комбінація цих символів: [перед тим, як ім'я властивості буде працювати на] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |