Подтвердить что ты не робот

Какие специальные хаки CSS-хакеров существуют?

Мне интересно, есть ли способ написать CSS специально для Safari, используя только CSS. Я знаю, что там что-то есть, но я еще не нашел его.

4b9b3361

Ответ 1

Я думаю, что вопрос верен. Я согласен с другими ответами, но это не значит, что это ужасный вопрос. Мне только когда-то приходилось использовать хакерство Safari CSS как временное решение, а потом избавилось от него. Я согласен с тем, что вам не нужно ориентироваться только на Safari, но не зря, как это сделать.

FYI, этот хак предназначен только для Safari 3, а также для целей Opera 9.

@media screen and (-webkit-min-device-pixel-ratio:0) {
   /* Safari 3.0 and Opera 9 rules here */
}

Ответ 2

Есть некоторые хаки, которые вы можете использовать в CSS для настройки только для Safari, например, помещать хеш/фунт (#) после запятой, что заставляет Safari игнорировать его. Например

.blah { color: #fff; }
.blah { color: #000;# }

В Safari цвет будет белым, во всем остальном он будет черным.

Однако вы не должны использовать хаки, поскольку это может вызвать проблемы с браузерами в будущем, и это может иметь нежелательные эффекты в старых браузерах. Самый безопасный способ - либо использовать язык на стороне сервера (например, PHP), который обнаруживает браузер, а затем обслуживает другой файл CSS в зависимости от браузера, который использует пользователь, или вы можете использовать JavaScript, чтобы сделать то же самое, и переключиться на другой файл CSS.

Язык на стороне сервера - лучший вариант здесь, так как не все из них имеют JavaScript в своем браузере, что означает, что они не будут видеть правильный стиль. Также JavaScript добавляет накладные расходы на объем информации, которую необходимо загрузить, прежде чем страница будет отображаться правильно.

Safari использует WebKit, что очень хорошо при рендеринге CSS. Я никогда не сталкивался с тем, что не работает в Safari, но в других современных браузерах (не считая IE, у которого есть свои проблемы вместе). Я бы посоветовал убедиться, что ваш CSS соответствует стандартам, поскольку проблема может заключаться в CSS, а не в Safari.

Ответ 3

Итак, подождите, вы хотите написать CSS для Safari, используя только CSS? Думаю, ты ответил на свой вопрос. У Webkit действительно хорошая поддержка CSS. Если вы ищете только стили webkit, попробуйте здесь.

Ответ 4

Вам нужно будет использовать JavaScript или ваш сервер, чтобы обмануть пользовательский агент, чтобы отправить CSS специально для Safari/WebKit.

Ответ 5

экран @media и (-webkit-min-device-pixel-ratio: 0) {}

Это похоже на веб-кит (включая Chrome)... или это действительно только Safari?

Ответ 6

Это действительно зависит от того, что вы пытаетесь сделать. Вы пытаетесь сделать что-то особенное только в сафари, используя некоторые из встроенных функций CSS3 или вы пытаетесь сделать сайт совместимым с браузером?

Если вы пытаетесь сделать перекрестный браузер совместимым с сайтом, я бы рекомендовал написать сайт, чтобы хорошо выглядеть в safari/firefox/opera, используя правильный CSS, а затем внося изменения для IE, используя условный CSS, в IE. Это должно (надеюсь) дать вам совместимость для будущего браузеров, которые становятся лучше следовать правилам CSS и обеспечивают совместимость с несколькими браузерами. Это пример.

Используя условные таблицы стилей, вы можете избежать всех взломов и целевых браузеров.

Если вы ищете что-то особенное в сафари, просмотрите this.