Архив автора: SelenIT

Грядут гриды!

Перевод статьи CSS Grid! с сайта meyerweb.com для css-live.ru, автор — Эрик Мейер

Гриды к нам приходят! Гриды к нам приходят! На самом деле, наконец они появятся в ближайшем браузере! Ураааааа!

Эй, потише там. Что за тарарам?

CSS Grid начнет поддерживаться по дефолту в Chrome и Firefox в марте 2017-го. А именно, Мозилла включит его в Firefox 52, намеченном на 7 марта. Судя по тому, когда Grid включили по дефолту в Chrome Canary, похоже, что Google выпустит его с Chrome 57, намеченным на 14 марта. В обоих случаях, с тех пор как поддержку включат по дефолту в основных релизных каналах — т.е. «вечнозеленых» браузерах, которыми пользуются обычные люди — вся-вся поддержка гридов, что сейчас есть в версиях для разработчиков, станет доступна для всех. Всё гридовое Просто Начнет Работать™®©.

Эти даты железобетонно гарантированы?

(далее…)

На 100% правильный способ делать контрольные точки в CSS

Перевод статьи The 100% correct way to do CSS breakpoints для CSS-live.ru, автор — Дэвид Гилбертсон

Постарайтесь на пару минут забыть про CSS. Не думайте о веб-разработке. Забудьте про цифровые пользовательские интерфейсы.

А когда вы забудете про всё это, хочу, чтоб ваше сознание отправилось в путешествие. В путешествие в прошлое. Назад в детство. В первый ваш день в школе.

(далее…)

Еще раз про border-image

Хотя свойство border-image уже поддерживают более 96% браузеров (с оговорками, но всё же), популярным пока его не назовешь. Пожалуй, поначалу оно кажется неоправданно сложным: объединяет в себе 5 отдельных свойств, каждое с несколькими значениями, да еще неочевидные правила взаимодействия с обычным border — легко запутаться. Даже многие неплохие руководства (типа статьи Дадли Стори, которую мы переводили в прошлом году) грешат тем, что даже после них ощущение сложности не проходит.

Есть мнение, что его сложность преувеличена, а возможности недооценены. Попробуем исправить это упущение.

(далее…)

Пространство в системах дизайна

Перевод статьи Space in Design Systems с сайта https://medium.com, опубликовано на css-live.ru с разрешения автора — Нейтана Кёртиса.

1-1scyy1iu_z0nic9lnqhohg

От основ до продвинутых понятий, чтобы задействовать пространство с умом

Я долго называл цвет, текст и иконки «большой тройкой» визуального языка системы. Все интерфейсные компоненты — от кнопок и далее — строятся на них. Но я кое-что упустил. Пространство, по-английски называемое тем же словом, что космос, наш последний рубеж.

(далее…)

Псевдоэлементы, которых не может быть

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

(далее…)

Руководство по цветам в вебе для «ботаников»

Перевод статьи A Nerd’s Guide to Color on the Web с сайта CSS-Tricks.com для CSS-live.ru, автор — Сара Дрэснер

Работать с цветами в вебе можно множеством способов. Думаю, полезно понимать механизмы того, с чем мы работаем, и цвет — не исключение. Давайте пороемся в некоторых технических подробностях цвета в вебе.

Цветосмешение

При работе с цветом очень важно понимать, что привычные еще с детства подходы к цветам не работают в компьютере из-за смешения цветов. В детстве мы работали с краской. В красках и чернилах из принтера есть маленькие частички — пигменты, которые смешиваются между собой и отражают свет, чтобы представить цвет глазу. Это субтрактивное (от англ. subtract — вычитание) цветосмешение. Чем больше цветов вы добавляете, тем темнее становится результат, пока не получится коричневый цвет. Основные цвета близки к тому, к чему вы привыкли: красный, желтый, синий. Но если смешать их при субтрактивном цветосмешении, вы придете к коричневому.

Субтрактивное цветосмешение пигментов

(далее…)

Новые статусы HTML5.1 и SVG2

15 сентября 2016 г. — особый день для веб-стандартов: сразу две важные спецификации обновили свой статус. HTML5.1 стал предложенной рекомендацией (последняя, чисто формальная стадия перед окончательным утверждением!). Так что, если вы еще не убрали из закладок старичка HTML5.0, самое время обновить их.

Основные отличия нынешней публикации от июньского кандидата в рекомендации — убраны некоторые новинки, которые так и не были реализованы и находились «под риском», например, элемент dialog и тип toolbar для menu. В целом же поддержка HTML5.1 браузерами весьма неплоха.

А рабочая группа HTML продолжает работу уже над следующей редакцией HTML — HTML5.2. С прошлого месяца доступен ее публичный черновик. Как пишет в блоге W3C один из авторов спецификации, Чарльз МакКэти Невил, HTML5.1 — самая близкая к реальности и лучше всех нацеленная в будущее спецификация HTML из когда-либо существовавших, но HTML5.2 должна превзойти ее в этом. И исправить большинство ее ошибок. Планируется, что HTML5.2 будет готов уже в следующем, 2017 году, так что пора поглядывать и в этот черновик.

А в мире SVG перемены еще круче: основной стандарт векторной графики обновил не вторую, а первую цифру. SVG2 стал кандидатом в рекомендации, что означает, что стандарт проработан теоретически и готов к реализации. Предыдущая версия стандарта — SVG1.1 — была рекомендацией аж с 2003 года (с «косметическим» обновлением до второй редакции в 2011-м), так что необходимость таких перемен назревала давно. Особенно при нынешней популярности SVG в вебе.

Раздел существенных изменений по сравнению с SVG1.1 внушительный — 30 подразделов! Некоторые разделы старой спецификации из новой полностью убраны, многое унифицировано со стандартами DOM и CSS, уточнены многие неоднозначные места. Вообще изменений столько, что, пожалуй, самое время учить SVG заново:). К сожалению, далеко не все новинки поддерживаются актуальными браузерами, но с новым статусом спецификации браузерам должно стать просто стыдно их игнорировать. Так что готовимся к новым невиданным красотам в вебе!

Анимации: ищем общий язык

Перевод статьи Communicating Animation с сайта alistapart.com для css-live.ru. Автор — Рэйчел Нейборс.

Анимации в едином стиле крайне важны как для рекламы, так и для хорошего впечатления от продукта. Интерфейсы подчиняются законам «физики дизайна»: если анимации всё время выдержаны в одном стиле, то  пользователей охватывает иллюзия естественности, реальности. Анимации, выбивающиеся из ряда, нарушают это ощущение и кажутся неряшливыми, а то и просто раздражают. Но поскольку анимация «сидит» аккурат на пересечении дизайна, разработки и прикладной психологии, на пути к такому единообразию встают особые преграды:

  • Из-за трудностей коммуникации в больших разнородных командах нелегко понимать и решать вопросы анимаций сообща.
  • Из-за недостаточных вводных разработчикам бывает трудно к чему-то продвигаться.
  • Из-за недостатка внимания или уважения к другим членам команды выходят однобокие реализации, где учтены голоса одних ценой других. Когда речь заходит об анимации, важно, чтобы каждый был услышан.

(далее…)

Языки, чуть было не ставшие CSS

Перевод статьи The Languages Which Almost Became CSS с сайта eager.io, опубликовано на css-live.ru с разрешения автора — Зака Блума

Для меня оказалось поистине нескончаемым наслаждением весь прошлый год кряду отвечать полчищам (буквально) желающих — лучше сядьте и пристегнитесь, сейчас будет нечто — управлять внешним видом документов, как это элементарно делалось в TeX, Ворде и любом другом популярном редакторе: «Простите, но фигушки вам».

Марк Андрессен, 1994

Когда в 1991-м Тим Бернерс-Ли объявил о создании HTML, оформлять страницы было просто нечем. То, как отображались те или иные HTML-теги, определялось браузером, часто под существенным влиянием пользовательских настроек. Хотя казалось заманчивым придумать стандартный способ, чтобы странички сами «предлагали», в каком виде их лучше отобразить.

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

Хотя, очевидно, сейчас эти языки не в ходу, мое сердце замирает при мысли о том, как всё могло бы быть. И что еще удивительнее, оказывается, во многих из этих других вариантов было такое, что разработчики и сейчас прыгали бы от счастья, появись оно в CSS.

(далее…)

Дело не в моральных принципах: доступность нужна всем

Перевод статьи It’s Not About Morals: Accessibility is for the Masses с сайта una.im, опубликовано на css-live.ru с разрешения автора — Юны Кравец.

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

(далее…)

HTML5.0 уходит в прошлое

Вторая очередь стандарта HTML5 — известная в W3C как HTML5.1 — в точном соответствии с планами выходит на финишную прямую. На этой неделе рабочая группа HTML опубликовала ее в статусе кандидата в рекомендации.

Раздел «Изменения» новой спецификации впечатляет — три мегабайта текста. И это только за последний год, более старые изменения вынесены в отдельный документ. Больше всего изменений связано с удалением так и не прижившихся новинок: appCache, scoped-стили, бесшовный iframe, <input type="range"> с двумя ручками (несмотря на все старания Лии Веру и ее полифил), сортировка таблиц и т.д. Ушел из спецификации и сбивающий с толку пример с несколькими заголовками h1 на разных уровнях вложенности — за все годы существования новых структурных элементов браузеры так и не удосужились сделать такую структуру доступной. Удалены и атрибуты для микроданных (сами микроданные W3C еще в 2013-м вынес в отдельную спецификацию и тут же ее забросил, но атрибуты оставались в некоторых примерах — теперь их заменили на более популярный у W3C RDFa). Впрочем, микроданные могут еще вернуться — они не так уж редко встречаются в реальном вебе (и в спецификации WHATWG они по-прежнему на месте). А еще из спецификации убраны некоторые нелогичные ограничения (например, header и footer теперь могут быть вложенными, figcaption может быть в любом месте figure, и т.д.).

Так что пора ознакомиться с новой версией спецификации получше и освежить свои знания. А позапрошлогоднюю спецификацию HTML5.0, несмотря на ее статус рекомендации, пора смело забыть и больше никогда на нее не ссылаться — она сыграла свою важную роль, но теперь интересна лишь для истории. Надо смотреть в будущее. Скоро W3C опубликует новый черновик — уже как HTML5.2!

Не забывайте также, что у HTML-спецификации по-прежнему немало проблем, спорных и ошибочных моментов, и вы можете лично поучаствовать в их исправлении. Причем и для W3C-, и для WHATWG-версии.

Новый черновик CSS-модуля псевдоэлементов 4 уровня

Рабочая группа CSS в W3C выпустила второй публичный черновик модуля псевдоэлементов 4 уровня. Этот модуль выделен из CSS-селекторов 4 уровня и дополняет его.

По сравнению с селекторами 3 уровня добавились псевдоэлементы ::selection и ::placeholder (наконец его стандартизируют!). А вторая версия черновика добавила еще ::marker для списков (этого инструмента ждали еще с 2002 года, правда, в новом черновике возможности его оформления сильно урезаны — позиционировать его по-прежнему нельзя…) и отдельный вариант ::selection для неактивного окна — ::selection-inactive. И немного упростила поведение ::first-letter, поскольку для оформления первых букв (буквиц) появился другой механизм, описанный в другом, новом CSS-модуле строчного форматирования 3 уровня.

Новый модуль также расширяет объектную модель CSS для работы с псевдоэлементами из скриптов: должен появиться отдельный интерфейс CSSPseudoElement, который, помимо свойств «тип псевдоэлемента» и «его CSS-код», будет обязан поддерживать интерфейс EventTarget из DOM2 (т.е. на псевдоэлементах наконец можно будет «ловить» события отдельно от их элементов!). Правда, этот раздел модуля пока очень слабо проработан. Но вы можете предложить свое решение любого из спорных вопросов и даже предложить свою правку спецификации на GitHub!

Модуль генерируемого контента CSS3 обновился спустя 13 лет

Лето в рабочей группе CSS в W3C началось с публикации нового черновика модуля генерируемого контента CSS 3 уровня. Публичных черновиков этого модуля не было аж с 2003 года!

Новая версия включила в себя также генерируемый контент для постраничного вывода, который раньше был отдельным модулем. Получился внушительный набор инструментов для генерации оглавлений, перекрестных ссылок, колонтитулов при печати и т.п. А вот CSS-счетчики (counters) переехали в отдельную спецификацию (хотя не исключено, что их снова объединят).

От самой радикальной идеи старой версии модуля — разрешить свойство content для всех элементов — отказались, но не до конца. В полной мере оно доступно лишь для ::before, ::after, ::marker и колонтитулов печатных страниц, но содержимое любых элементов можно будет заменять картинкой (в т.ч. градиентом и даже функцией element()). Неужели мы дождемся стандартного способа замены текста картинкой почти без издержек?

Конечно, до практического применения большинству новинок далеко, спецификация пока в стадии обсуждения и «обкатки». Но присмотреться к ней стоит. И вдруг именно вы найдете лучший ответ на один из 19 пока открытых вопросов?

Регрессивные веб-приложения

Перевод статьи Regressive Web Apps с сайта adactio.com, опубликовано на css-live.ru с разрешения автора — Джереми Кита.

На конференции Google I/O в этом году было немало докладов о разработке для веба. Приятная перемена по сравнению с прошлыми годами, когда о вебе едва вспоминали и можно было скорей подумать, что  Google I/O — конференция для разработчиков приложений под Андроид.

Последняя конференция показала, что Гугл очень большой и у него нет какой-то единой генеральной линии по поводу веба и нативных приложений. Хотя были доклады о сервис-воркерах и производительности для веба, были также представлены «Мгновенные Андроид-приложения» — неприкрытая атака на веб. Если вас раздражало, что сайты назойливо тыкали вам под нос всплывающие окошки с предложением установить их приложения, то подождите, скоро они смогут и не спрашивать.

(далее…)

БЭМантика: пишите осмысленные стили без повторов

Перевод статьи BEMantic: DRY Like You Mean It с сайта https://medium.com, опубликовано на css-live.ru с разрешения автора — Мэтта Стоу.

Недавняя статья Тима Бакстера на A List Apart, «Осмысленный CSS: описывайте стилями свою логику», подбросила дровишек в костер тому мнению, будто фронтендеры, предпочитающие объектно-ориентированный подход к CSS (БЭМ или что-то вроде), как-то напрочь забывают о семантической разметке и доступности.

Лично я считаю, что так думать просто обидно. Не понимаю, почему БЭМ и семантику HTML считают взаимоисключающими. Я тешу себя надеждой, что я хороший разработчик: я горжусь как своим HTML (включая семантику и ARIA-атрибуты), так и своим CSS, где вовсю используются Sass и БЭМ.

(далее…)