Похоже на опечатку для меня. Разработчик пытается быть забавным, или, может быть, он помечает области кода, которые он или она будут искать?
Ли
2
@stijn все еще может быть каким-то странным кодом конкретного продавца ...
Марк
22
@ series0ne Я так понимаю, вы никогда не видели взлом звездочки Internet Explorer.
Нит
11
Если это действительно взлом браузера, вы захотите добавить комментарий в файле CSS, объясняющий это.
user247702
32
Мое предположение: автор кода набрал :), думая, что основное внимание было уделено IM-клиенту. Когда это было не так, они кликали в IM-клиент и продолжали оттуда, никогда не понимая, что они напечатали смайлик в последнем месте, где сидел их курсор, который был файлом CSS.
Если вы добавите не алфавитно-цифровой символ, такой как звездочка ( *), непосредственно перед именем свойства, свойство будет применяться в IE, а не в других браузерах.
Также есть хак для <= IE 8 :
div {
color: blue;/* All browsers */
color: purple\9;/* IE8 and earlier */*color: pink;/* IE7 and earlier */}
Однако это не очень хорошая идея, они не подтверждают. Вы всегда можете свободно работать с условными комментариями для конкретных версий IE :
Но для тех, кто хочет увидеть взлом на самом деле, пожалуйста, откройте эту страницу в последней версии IE у вас есть. Затем перейдите в режим разработчика и делает F12. В разделе «Эмуляция» ( ctrl+ 8) измените режим документа на 7и посмотрите, что произойдет.
Свойство, используемое на странице, является :)font-size: 50px;.
Я знал о «_» и «*» до выбора, но не о том, что вы сказали.
valerio0999
2
@vlrprbttst Это обычные символы, используемые для простоты. Однако он завершает все не буквенно-цифровые значения.
Революция
1
Я отмечаю этот ответ как правильный, хотя salman-a также был правильным, но чуть-чуть медленнее. Я знал об этом взломе, но всегда использовал «*». Тот, кто сделал эту страницу - шутник;).
Марк
1
Я могу быть настолько глуп, чтобы что-то упустить, но почему он может сделать это, используя 2 символа? Он говорит «добавить не алфавитно-цифровую», а не «добавить один или несколько ...». Или :значит что-то еще? В противном случае я не могу поставить *********************font-size: "150%";и т. Д.?
Макс
1
Просто чтобы добавить дополнительную часть к этому ответу. Ответ велик и корректен, но пропускает тот факт, что это не лучшая практика. Как правило, вы должны сделать все возможное, чтобы обеспечить наилучшее взаимодействие во всех браузерах, которые использует ваша пользовательская база. Не говоря уже о том, что, на мой взгляд, вы не должны поддерживать браузеры, которые компания, которая сделала их, больше не поддерживает.
AlienDev
171
Похоже, CSS взломать для IE7 и более ранних браузеров. В то время как это является недействительным CSS и браузеры должны игнорировать это, IE7 и раньше будет анализировать и выполнять это правило. Вот пример этого взлома в действии:
CSS
body {
background: url(background.png);:)background: url(why-you-little.png);}
IE8 (игнорирует правило)
IE7 (применяется правило)
Обратите внимание, что это не должно быть смайлик; BrowserHacks упоминает:
Любая комбинация этих символов: ! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
[до того, как имя свойства будет работать] Internet Explorer ≤ 7
Да, начиная с IE8 и выше, IE считает себя CSS-совместимым и постепенно ломает все свои специфичные для IE исправления CSS. (поэтому мы должны прибегнуть к решениям javascript)
Flip Vernooij
39
Все сайты должны использовать тему хот-дога для всех пользователей <IE10. +1
Пит ТНТ
6
@ikkuh Честно говоря, IE11 - довольно приличный и совместимый браузер. Есть причина, по которой они отказались от поддержки условных комментариев IE.
ajp15243
2
@ apj15243 Да, они прошли долгий путь и надеются, что будут продолжать, правда в том, что мне все еще нужна условная поддержка, и это не только IE11, но также 10,9 и 8. Так что давайте пожелаем авто Кроме того, нет никаких причин не запускать IE11 на XP, кроме как по коммерческим причинам. Но это другое обсуждение.
Ответы:
Из статьи на javascriptkit.com , которая применяется для IE 7 и более ранних версий:
Также есть хак для <= IE 8 :
Однако это не очень хорошая идея, они не подтверждают. Вы всегда можете свободно работать с условными комментариями для конкретных версий IE :
Но для тех, кто хочет увидеть взлом на самом деле, пожалуйста, откройте эту страницу в последней версии IE у вас есть. Затем перейдите в режим разработчика и делает F12. В разделе «Эмуляция» ( ctrl+ 8) измените режим документа на
7
и посмотрите, что произойдет.Свойство, используемое на странице, является
:)font-size: 50px;
.источник
:
значит что-то еще? В противном случае я не могу поставить*********************font-size: "150%";
и т. Д.?Похоже, CSS взломать для IE7 и более ранних браузеров. В то время как это является недействительным CSS и браузеры должны игнорировать это, IE7 и раньше будет анализировать и выполнять это правило. Вот пример этого взлома в действии:
CSS
IE8 (игнорирует правило)
IE7 (применяется правило)
Обратите внимание, что это не должно быть смайлик; BrowserHacks упоминает:
Пример стенда для хот-догов GAH здесь .
источник