Пользователь
0,0
рейтинг
24 июля 2011 в 01:47

W3C Дайджест. Что нового в CSS3. Выпуск 2

Рабочая группа CSS3 постоянно ведет дискуссии по поводу того, что же будет в новом стандарте. Никаких скандалов, интриг и расследований. Голые мысли, непрекрытые идеи, обнаженные факты.

Предыдущая часть тут

Немного магии в линейных градиентах


Предложен новый способ рисования линейных градиентов. Как известно, такие заливки рисуются по линии градиента (gradient-line), отправной точкой которого является центр контейнера. Однако, если захочется нарисовать градиент похитрее, без дополнительных костылей в виде JS не обойтись. Например, есть градиент с тремя цветами: А, Б, В. Захотелось заполнить контейнер так, чтобы цвет А был «привязан» к левому верхнему углу, цвет Б — к правому верхнему, а цвет В — к правому нижнему. И при изменении размеров контейнера результат всегда был одинаковым.

Какая-то здравая мысль в этом есть, но «лепить» сверху на текущее поведение линейных градиентов как-то немного неправильно.

Желание управлять печатью фона


Как известно, фон не печатается браузером пока не будет пользователем вручную указано желание печатать содержимое страницы вместе с фоном. Но, некоторым авторам все же свербит в одном месте игнорировать мнение пользователя по этому поводу. Поступило предложение тупо печатать все фоновые картинки без разбору, или только заливки, которые определены в @media print, или же добавить новое свойство, которое бы однозначно указывало на печать фона. Потом поступило уточнение, что печатать без спросу только те заливки, которые имеют !important. Но, после продолжительного обсуждения, предлагающая сторона так и не смогла изобрести нормального способа управления печатью фонов. Защита пока осталась при своем мнении — управлять печатью лучше из браузера, а не со страницы.

CSS3 анимация. Трудности со скрытым контентом


В спецификации пока что не описано, как должен вести себя элемент, который скрыт через display: none, или visibility: hidden. Gecko и WebKit имеют немного разное поведение, когда элемент скрывается во время анимации: WebKit не запускает анимацию и обнуляет ее, если элемент невидимый, а Gecko продолжает итерировать свойства даже у невидимых элементов. В итоге разговор сошелся на мысли, что не хватает специального API для более точного управления анимацией, на что было резонное возражение, что все анимационные извращения лучше делать на стороне JS, а в CSS оставить самые простые возможности.

Новая редакторская версия CSS3 Grid Layout


Модуль CSS3 Grid Layout был немного доработан. Добавлено описание алгоритма определения размеров для строк и колонок. Немного упрощено свойство grid-template, в котором убран псевдо-элемент grid-cell и свойство grid-cell-stacking. Исправлена грамматика для свойств grid-columns и grid-rows.

На сегодня все. Спасибо за внимание!
Александр @s0rr0w
карма
44,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (22)

  • 0
    Эх, жалко фон оставили как есть. Пользователь чаще всего и не знает, что в браузере есть настройка, позволяющая включить/отключить печать фона.
    • +1
      Я вот сейчас подумал, что действительно разумно было бы оставлять выбор печати фона для пользователя, если бы браузер предоставлял этот выбор в удобном виде. Например, при Ctrl+P сначала отобразятся 2 миниатюрки с фоном и без него, при клике на миниатюру распечатывается соответствующая версия страницы.
      P.S.: Интересно, можно ли такое реализовать в виде плагина?
      • 0
        Можно. Разработчики уже поняли, что при печати нужно показывать принт-превью и настройки принтера. Это сократит немного проблем с настройками печати.
    • 0
      А мне кажется, это перекликается с семи смертными грехами современных программ: вижу одно, печатаю другое. Совершенно не понятно — если печать фона зачем-то делают настраиваемой, то почему бы по умолчанию ее не включать.
      • +1
        Потому что можно напечатать черные листы бумаги и серые буквы на них. Такого потока лучей ненависти от пользователя будет трудно найти…
        • 0
          Ну хорошо. Если у вас офисный файл содержит, скажем, синюю таблицу с серыми буквами на ней, а вы его распечатаете, что там будет? Именно то и будет, что вы видели, а не что-то другое.

          Вообще молодой человек с замечанием насчет диалога печати очень правильную мысль высказал. Как бы нам ее в фичи для хрома добавить. А добавит хром — добавит и лиса. А там и осел с оперой подтянутся.
          • –1
            Там будет белый фон и черные буквы на нем. Браузеры уже сейчас изменяют цвета, чтобы они печатались в любом случае.
  • +1
    Порадовал CSS3 Grid Layout.
    • 0
      А меня не очень. Основная проблема в том, что однажды привязав блок, как бы вы его не переставляли в DOM Tree, он будет все равно отображен там, где ему узазали в CSS.

      Чтобы переместить блок в другое место, понадобится не просто переставлять в DOM, но еще и делать неудобные трансформации через CSS, который на данный момент имеет ну совсем ущербный API для таких манипуляций.
      • 0
        Ну по крайней мере для форм будет полезно, я так думаю. А технологии лучше использовать исходя из задачи. ;) Блоки то все равно никто не отменял.
        • 0
          Для форм и display: table-cell вполне подойдет…
      • 0
        Добавьте в head элемент style и пишите в него что хотите.
        Может не совсем красиво, но работает как надо.
        • 0
          Вопрос не в том, можно ли писать или нет. А в том, что именно и как придется писать.
    • 0
      Это страшное убожество. Уже много раз писал, что для этого достаточно %% units и flow. Не говоря уже о том, что для layout'а в CSS3 уже есть три разных способа его задания. Как оно совместно будет глючить — это просто сказка.
      • 0
        Вам не кажется, что это все «костыли»?

        Тем более вас никто не обязывает сразу начать использовать CSS3 Grid Layout. Будет удобно и востребовано и не глючить — народ сам начнет использовать.

        Это лишь ИМХО…
        • 0
          > Вам не кажется, что это все «костыли»?

          Что именно является костылями?

          > Тем более вас никто не обязывает сразу начать использовать CSS3 Grid Layout. Будет удобно и востребовано и не глючить — народ сам начнет использовать.

          Понимаете, в CSS3 есть

          Multicolumn Layout, www.w3.org/TR/css3-multicol/ (уже Candidate Recommendation)
          Template Layout, www.w3.org/TR/css3-layout/ (Working Draft)
          Grid Positioning, www.w3.org/TR/css3-grid/ (Working Draft)

          И только-только объявленные:
          CSS Grid Layout, dev.w3.org/csswg/css3-grid-align/
          CSS Regions, dev.w3.org/csswg/css3-regions/

          И все они занимают строго одни и тем же — расположением элементов на странице.

          Задается вопрос: на-фи-га? При том, что один убогее другого. Когда они все встретятся на одно странице — вот тогда будет веселуха :)))
          • +1
            Это конкурирующие модули. Избавятся от тех, которые менее популярными будут у народа.

            Хотя я тоже задаю тот же вопрос — нафи это кому впиралось. Я предлагал уже направляющие. Tab Atkins сказал, что это какая-то программерская фигня. Хотя я понял, почему он так говорил, закину, пожалуй, еще раз удочку.
            • 0
              > Это конкурирующие модули. Избавятся от тех, которые менее популярными будут у народа.

              В этом и проблема :) Что в итоге будет сплошной хаос и бардак :)

              > Я предлагал уже направляющие.

              О, а можно поподробнее? :)
  • 0
    Спасибо, что ткнули носом. Буду изучать. ;)
    • 0
      Да ладно :) просто CSS3 в нынешней форме мне лично не нравится абсолютно, и там такой бардак, что можно поломать все руки ноги и головы :)
      • 0
        Сейчас все пробуют на зуб. Прицениваются к различным подходам. Пять лет назад все кричали, что переменные в CSS — плохо. Сейчас разговоры на эту тему уже ведутся спокойно. Я до сих пор не понимаю, нафига они нужны, но тенденция занятная

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.