Статьи

Поддержка CSS в Firefox 3 и Opera 9.5


Менее чем за 14 дней Opera и Mozilla выпустили последнюю и лучшую версию своих браузеров, Firefox 3.0 и Opera 9.5.
Итак, что касается улучшенной поддержки CSS, что мы, разработчики, можем ожидать после обновления сообщества пользователей?



Вместо того, чтобы расположить два браузера друг против друга и смотреть только на определенный уровень рекомендаций CSS, я расскажу об улучшениях, которые сделали оба браузера. К сожалению, даже несмотря на то, что я сказал, что не собираюсь концентрироваться на конкретной версии CSS, мне было гораздо проще точно определить, какие улучшения были сделаны в отношении конкретной рекомендации в отношении Opera, я сначала расскажу о ней. что Opera привносит в таблицу с точки зрения расширенной поддержки CSS. После этого я упомяну, какие улучшения Mozilla сделала с Firefox 3. Мои извинения, если я что-то упустил в отношении каких-либо улучшений, сделанных любым из двух браузеров. Пожалуйста, добавьте ваши комментарии. С учетом сказанного, позвольте мне начать с Opera 9.5 только потому, что она была выпущена первой.



Что касается CSS 2 и 2.1, Opera поддерживает все рекомендации, кроме следующих:



Для уровня CSS 2:

  • Эти свойства: font-size-adjust, font-stretch, marker-offset, marks, и text-shadow,
  • Список стилей типов cjk-идеографический, иврит, хирагана, хирагана-ироха, катакана, катакана-ироха.
  • Эти комбинации свойства / значения: «display: marker», «text-align: <string>», «visibility: collapse».
  • Именованные страницы (как описано в разделе 13.3.2 ).
  • Конструкция «@ font-face».
  • : Языки () селектор


И для того, что было добавлено во время итерации CSS 2.1, кроме вышеупомянутого Opera в настоящее время не поддерживает следующее из CSS 2.1:

  • visibility: collapseи white-space: pre-lineзначения свойств

Кроме этих Opera предлагает полную поддержку всех рекомендаций для CSS 2 и 2.1, но как насчет CSS 3.0? Opera 9.5 поддерживает следующее из текущей спецификации CSS 3.0:

Медиа-запросы

Это работает подобно условным комментариям, которые многие из нас использовали для таргетинга IE, но стандартным способом, например. Если вы хотите применить определенные стили CSS, если размер экрана меньше указанного значения, вы должны обернуть часть кода CSS, которая будет выполняться тегом @media. Таким образом, для всего, что не соответствует этому сценарию, CSS:

img {
margin: 10px 0 10px 10px;
float: right;
}
But if it does the following CSS will be applied:
@media all and (max-width: 360px) {
img {
margin: 10px auto;
float:none;
display:block;
font-size:70%;
}
}

Я сразу вижу полезность этого, особенно при разработке приложения, которое будет доступно для различных устройств. Кто-нибудь может сказать, пока, пока JavaScript снифферы?

Текстовые тени

Я не знал об этом свойстве CSS до недавнего времени, когда я занимался разработкой для iPhone и столкнулся с этим, используемым в библиотеке iUI. Это означает, что вы можете добавлять тени к своему тексту HTML, не прибегая к замене текста, чтобы получить текст с тенями. Как это выглядит в CSS?

h1 {
text-shadow: #555 3px 3px 4px;
}

Таким образом, первое свойство — это, очевидно, цвет вашей тени, а затем расположение влево / вправо, сверху / снизу и степень размытия.

Размер фона

Что, черт возьми это? Ну, вместо того, чтобы вырывать текст из красиво оформленного прямоугольника с закругленными углами, разве не было бы неплохо, если бы оно масштабировалось с вашим контентом? Если вы добавите -o-background-sizeобъявление в divправило, вы получите то, что известно как задание размера фона. Обратите внимание, однако, что Opera все еще использует экспериментальную версию этого, отсюда и -o-префикс. Webkit и KHTML также имеют экспериментальные реализации (с использованием их -webkit-и -khtml-префиксов)

помутнение

Это так здорово, я не могу ждать, пока все браузеры поддержат это, и его так же легко использовать, как:

div {
opacity: .5;
}

HSL

Новое цветовое пространство для определения цветовых значений в сети, Hue, Saturation и Lightness. У вас уже есть эта опция в Photoshop навсегда, Opera выводит ее в Интернет через поддержку HSL в CSS3. Почему HSL? Он преодолевает RGB, не подвергаясь влиянию аппаратного обеспечения, и его намного проще прогнозировать. В CSS это реализовано следующим образом:

div {
background-color: hsl(240, 90%, 50%);
}

переполнение-х и переполнение-у

Лично я считаю, что эта функция, к которой мы уже должны иметь доступ, но, увы, мы должны ждать, пока поддержка не станет достаточно широкой. Но почему? Прямо сейчас вы просто говорите «переполнение»: скрытое и т. Д., Но что, если вы хотите контролировать переполнение в определенном направлении? В настоящее время у вас нет выбора в этом отношении. С CSS3 и в последней версии Opera вы можете контролировать переполнение в любом направлении, будь то верх или низ, вправо или влево.

nav-index, nav-up, nav-down, nav-left и nav-right

Это отличная функция специальных возможностей, и эти свойства позволяют вам указать, на какой элемент будет обращено внимание, когда пользователь нажимает клавиши навигации на клавиатуре. Это особенно полезно, когда элементы абсолютно позиционированы и не следуют друг за другом в порядке исходного кода HTML.

Селектор первого типа

В настоящее время, если вы хотите создать эффект буквицы, вы заключаете символ в <span>. Возможно, вы также дали класс тегу абзаца, а затем использовали псевдо-селектор :: firstletter для создания этого эффекта. Вам больше не придется терпеть эти обходные пути, в Opera 9.5 вы можете использовать селектор первого типа как таковой:

div.article > p:firstof-type::firstletter { }

Opera 9.5 поддерживает множество других аспектов спецификации CSS в диапазоне от 2,0 до 3,0. Подробную информацию см. В документации по поддержке CSS3 на веб-сайте Opera .

Что касается Firefox 3, я, к сожалению, не смог найти подробную информацию о его поддержке вышеупомянутых функций, но со страниц сайта Mozilla это улучшения в Firefox 3:


С выпуском этих новых версий браузера и бета-версией Internet Explorer 8, которая выйдет в августе этого года, создается впечатление, что веб-разработчики могут рассчитывать на гораздо менее удручающий цикл проектирования и разработки и могут начать ждать тех дней, когда кросс-браузерное хакерство и условные комментарии исчезли, и мы можем воспользоваться всеми удивительными новыми функциями, доступными в CSS 2.1 и 3.0.