Приемы постепенной деградации css. В чем разница между прогрессивным повышением и изящной деградацией? Начиная с современных браузеров

Новости 22.06.2020
Новости

Давно не писала, пришлось переехать в место без интернета (вот ужас-то), в следствии чего писать в бложик не смогла. Сегодня я хочу рассказать о методе разработки (вёрстки) который частично используется в оформлении моего бложика.

В последних версиях инновационных браузеров (типа FF 3.5, Opera 10) введены некоторые декоративные эффекты из предложенной спецификации CSS 3. Прозрачность, тени и эффект зебры (полосатости) теперь доступны без использования JavaScript, или дополнительной разметки. Но в некоторых старых браузерах, которые всё ещё используются этих свойств нет, и было бы грустно думать что у вас не будет шанса использовать эти замечательные эффекты ещё несколько лет.

В этой статье я расскажу о том как сделать приятные (постепенные) улучшения в браузерах которые поддерживают особенности CSS3 и при этом показать удовлетворяющую остальных пользователей вёрстку.

Что такое постепенное улучшение (progressive enhancement)?

Чтобы понять концепцию "постепенного улучшения", нужно понять принцип "лёгкого ухудшения" (graceful degradation), который хорошо описан следующей цитатой:

Лёгкое ухудшение означает что ваш сайт продолжает работать даже если просматривается в менее чем оптимальном браузере, в котором продвинутые эффекты не работают.
Fluid Thinking, by Peter-Paul Koch

"Постепенное улучшение" использует тот же метод только с противоположной стороны, вместо заботы о том чтобы сайт не развалился в старом браузере, нужно прежде всего думать о контенте и просто добавлять в дизайн особенности современных программ чтобы улучшить пользовательское восприятие, в то время как базовое состояние вёрстки всё ещё работает на старых машинах. Это на текущий момент наилучший, способ применять новые возможности CSS 3.

Пример

Для примера сделаем простое меню навигации которое будет выглядеть немного красивее в зависимости от поддержки CSS в вашем любомом браузере.

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

Разметка

Сделаем простое меню используя неупорядоченный список (ul):

Базовый стиль

В качестве базового я применю стиль который использует только простые селекторы наслезования. Он создаёт границу у каждого элемента и меняет фон при наведении мыши (onmouseover). Это должно работать в любом браузере сделанном за последние 7-8 лет (и возможно больше).

CSS очень прост:

Ul {
background-color: blue;
border-bottom: 1px dotted #999;
list-style: none;
margin: 15px;
width: 150px;
}

li {
background-color: #fff;
border: 1px dotted #999;
border-bottom-width: 0;
font: 1.2em/1.333 Verdana, Arial, sans-serif;
}

li a {
color: black;
display: block;
height: 100%;
padding: 0.25em 0;
text-align: center;
text-decoration: none;
}

li a:hover { background-color: #efefef; }

Единственная странность тут это синий фон у

    ; это я объясню позже. С этим стилем, у нас будет следующий базовый вид, он будет отображаться в IE6 так:

    Базовая вёрстка, так будет выглядеть в IE6 и других старых браузерах.

    Применение улучшений

    IE7 был первым в серии браузеров IE который поддерживал все селекторы атрибутов из CSS 2.1, что тоже распространено в почти всех других браузерах. Мы можем использовать один из них - дочерний селектор - чтобы начать улучшение. Так как IE6 не поддерживает дочерние селекторы он проигнорирует следующие правила:

    Body > ul { border-width: 0; }

    ul > li {
    border: 1px solid #fff;
    border-width: 1px 0 0 0;
    }

    li > a {
    background-color: #666;
    color: white;
    font-weight: bold;
    }

    li:first--child a { color: yellow; }

    li > a:hover { background-color: #999; }

    С этими правилами CSS, список выглядит так:

    У меню теперь цветной фон и жирный текст, а также первая ссылка подсвечена другим цветом.

    Так отобразят список IE7, Firefox, Safari и Opera.

    Сделаем больший акцент

    Следующим шагом увеличим акцент, используя свойство которое IE не распознаёт: Прозрачность (opacity). Нам не надо применять специальных селекторов для этого, т.к. IE просто пропустит то свойсво которое он не поддерживает:

    Li { opacity: 0.9; }

    li:hover { opacity: 1; }

    Следующая картинка показывает как это свойство работает в опере, вы можете увидеть что элементы списка приобрели лёгкий синий оттенок от фона

      . При наведении мыши (mouseover), каждый элемент становится полностью непрозрачным:

      Вы можете конечно использовать IE"шное свойство filter для этого же эффекта в IE. Равно как и браузеро-специфичные префиксы (-moz-, -webkit-) для нижеуказанных свойств. Но в образовательных целях я придержусь стандарта CSS, так как filter не стандартное свойство, то оно и не валидно.

      Firefox 2 поддерживает прозрачность, но в более поздних браузерах мы можем пойти ещё дальше. В Safari и Opera, мы можем украсить текст используя свойство text-shadow:

      Li a:hover { text-shadow: 2px 2px 4px #333; }

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

      Наконец, можно позаботиться полной поддержки Оперой новых CSS 3 селекторов и добавить ещё один слой улучшений: переменные цвета фона используя селектор nth-child:

      Li:nth-child(2n+1) a { background-color: #333; }

      li:nth-child(n) a:hover {
      background-color: #aaa;
      color: #000;
      }

      li:first--child > a:hover { color: yellow; }

      Мы увидим полосатое меню в Опере:

      Итог и выводы

      На рисунке ниже видно как начальная разметка выглядит в IE6, IE7, Firefox, Safari и Опере, после применения правил CSS описанных в этой статье. как вы можете видеть, так как поддержка браузерами CSS становится всё более утончённой, меню становится более стильным и сложным, и используя технику постеменного улучшения, меню остаётся рабочим даже в очень старых браузерах.

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

      Конечно, Internet Explorer содержит большое количество ошибок в разных версиях, но с помощью условных комментариев с ними можно бороться, добиваясь их устранения. Но вот чего нельзя ничем исправить, так это то, что IE безнадёжно устарел. Пока остальные браузеры включают всё больше свойств CSS3, поддерживают различные новомодные технологии, IE топчется на месте. Выход IE9 не решит проблему, предыдущие версии от этого в одночасье не испарятся. В такой ситуации наилучшим решением будет изящная деградация (graceful degradation) - принцип сохранения работоспособности при потере части функциональности.

      Давайте разберём этот приём на небольшом примере, в котором выводится текст в блоке и кнопка. У блока и кнопки заданы скруглённые уголки, к блоку также добавляется небольшая тень. Пока браузеры для CSS3 применяют преимущественно специфические свойства со своими префиксами:

      • Firefox - свойства, начинающиеся с -moz-;
      • Safari и Chrome - свойства, начинающиеся с -webkit-;
      • Opera - свойства, начинающиеся с -o-.

      Разные версии этих браузеров могут понимать некоторые свойства как с префиксом, так и без него, поэтому для универсальности добавляют одновременно несколько свойств сразу. Так, для создания скруглённых уголков нам потребуется следующий стиль.

      Moz-border-radius: 10px; /* Для Firefox */ -webkit-border-radius: 10px; /* Для Safari и Chrome */ border-radius: 10px; /* Для Opera и IE9 */

      Хотя применение этих свойств приведёт к невалидному коду CSS, в данном случае важнее работа в браузерах Firefox 1.0, Safari 3.1, Chrome 2.0, Opera 10.50, IE9, а также в их старших версиях. В примере 1 показано использование свойств CSS3 для создания тени и скруглённых уголков.

      Пример 1. Блок с тенью

      XHTML 1.0 CSS 2.1 CSS3 IE 8 IE 9+ Cr Op Sa Fx

      Блок

      Вам необходимо пройти 20 вопросов, которые в случайном порядке выбираются из базы данных. Для прохождения теста достаточно правильно ответить не менее чем на 75% предложенных вопросов (15 и более вопросов).

      Результат примера продемонстрирован на рис. 1.

      Рис. 1. Вид блока в Safari

      Тот же пример в браузере IE8 и ниже представлен на рис. 2.

      Рис. 2. Вид блока в IE8

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

      Что даёт на практике этот подход?

      • Позволяет активно использовать декоративные свойства CSS3 без оглядки на браузер.
      • Мотивирует применять различные эффекты CSS3.
      • Существенно облегчает жизнь разработчика, так как ему теперь не надо искать решения для устаревших браузеров.
      • Ускоряет производительность работы.

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

      Оглавление:

      Префикс -webkit- доминирует в CSS настолько, что некоторые сайты без него работают неправильно. Это свидетельствует о следовании разработчиков не самым лучшим практикам в последние годы и это привело к неудачному, но практически вынужденному решению со стороны Mozilla. В Firefox версии 46 или 47 (это апрель или май 2016 года), Mozilla планирует реализовать поддержку нестандартных префиксов -webkit- , чтобы улучшить совместимость Firefox с сайтами, активно использующими -webkit (как правило, это сайты, ориентированные на мобильные устройства).

      Тем не менее, разработчики применяют префиксы, чтобы использовать новейшие возможности браузеров максимально быстро. Префиксы вызвали беспорядок с доминированием WebKit, но они же заставили веб двигаться вперед ускоренными темпами.

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

      Итак, пришло время переосмыслить подход к префиксам и протестировать сайты с ними.

      Поддерживаемые префиксы

      Есть целый ряд префиксов -webkit- , которые Mozilla может реализовать. Исходя тех данных, что я собрал, Mozilla не стремится к совпадению своего списка поддерживаемых префиксных свойств со списком Edge, так как не все из них нужны для совместимости движка раскладки.

      Разработчики Firefox также близки к аналогичному подходу:

      Текущий тренд в Mozilla это избегание вендорных префиксов за счет отключения не готовых свойств и использовании непрефиксной версии при достаточной стабильности. Это общая политика: в отдельных случаях возможны исключения - Борис из Mozilla

      Microsoft Edge также собирается отказаться от вендорных префиксов:

      “Microsoft также собирается отказаться от вендорных префиксов в Edge. Это значит, что разработчики, которые стремятся использовать специфичные возможности HTML и CSS не будут использовать специфичный префикс для Edge. Вместо этого они будут просто писать код в соответствии со стандартами” - Mashable

      Постепенной деградации, основанной на префиксах больше не будет

      Этот уход от вендорных префиксов означает одну вещь - постепенная деградация с помощью вендорных префиксов не имеет перспектив.

      Использование вендорных префиксов для применения стилей для конкретного браузера (например, только для Chrome) не являлось целью их введения; рекомендацией для разработчиков всегда было использование всех префиксов (от -webkit- до -o-). Если вы используете возможности, которые зависят от префиксных свойств и используете префиксы для постепенной деградации вашего дизайна в других браузерах, то это больше не работает.

      Заключение

      Времена меняются. Доминирование WebKit невольно повлекло проблемы с несовместимостью, что заставляет производителей остальных браузеров реализовывать префиксы -webkit- . Эта проблема исчерпает себя по мере отказа производителей браузеров от вендорных префиксов, но пока разработчики должны проверять, что префиксы не вызовут неожиданных результатов в не-WebKit браузерах.

      Я запутался в том, что разница между Постепенное Повышение и Изящные Деградации . Мне они кажутся одним и тем же.

      не могли бы вы объяснить мне различия между ними и в какой ситуации я бы использовал один над другим?

      8 56 2010-03-31 08:05:38

      8 ответов:

      Они почти точно то же самое, но они отличаются в контексте.

      существует класс браузеров под названием "A Grade Browsers". Это ваши типичные члены аудитории, которые (вероятно) составляют большинство ваших посетителей. Вы начнете с базового уровня этих пользователей. Назовем это лучшие современные практики .

      Если вы хотите увеличить опыт для тех, кто случайно использует FF3. 6 или Safari 4 или какой-либо другой разработчик whizbang nightly webkit whathaveyou, вы хотите делать удивительные вещи, как

      • закругленные углы через css
      • затененный текст (но, пожалуйста, Боже, не слишком много)
      • отбрасываемой тени (см. выше в скобках)

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

      с другой стороны, ваш нишевый сайт Nintendo привлекает достаточное количество пользователей IE5. Бедный ты, но ты также хочешь убедиться, что они продолжают возвращаться. Вы можете предоставить альтернативу своему поведению ajax, включив сценарий ajax во внешний файл, и если их JS не включен, возможно, Ваши ссылки обновляют всю страницу. Так далее. С точки зрения лучшие современные практики , вы убедитесь, что некоторые исторические рынки обслуживаются некоторое подобие функционального сайта . Это изящный деградация .

      Они в основном идентичны, но отличаются с точки зрения приоритета для многих команд разработчиков: PE довольно приятно, если у вас есть время, но GD часто необходимые

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

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

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

      направление от выбранного базовый для каждого понятия разные.

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

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

      Я думаю, что можно было бы использовать обе концепции, если позволит время/бюджет. Если нет, то изящная деградация была бы предпочтительнее.

      Извините, что воскрешаю что-то, что прошло больше года, но я чувствовал, что могу внести свой вклад, в некотором роде, мое собственное мнение по этому вопросу.

      хотя я согласен с Алексом Mcp и deceze в некотором роде, термины "изящная деградация" и "прогрессивное повышение" имеют несколько иные значения, чем я стою.

      изящные деградации , много времени (на мой взгляд), кажется, больше палки бить приложение в подчинение после того, как это был построен плохо в первую очередь в моем опыте. Как кто-то строит какой-то огромный объект javascript, который предоставляет пользователю что-то действительно классное, чтобы играть, пока не появится менеджер, не проверит эту вещь, и все будут кричать, бросая свои руки, когда дело доходит до их внимания, что их приложение не работает в 35% браузеров. кто-то лучше обеспечить запасной вариант для этого."

      Постепенное Повышение хотя (и это такой хороший термин, чтобы сказать тоже), казалось бы, больше о создании чего-то, что просто работает, на начальном уровне, везде, с помощью самых основных доступных методов, чтобы обеспечить всю функциональность, которая нужна пользователю. Затем это можно добавить с помощью аккуратных маленьких ненавязчивых помощников, укладки и т. д. это фактически улучшает пользовательский опыт рассматриваемого приложения, а не просто делает его едва пригодным для использования. ", что выглядит круто. Работает ли он в IE6. О да. Оно Неужели"

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

      Rant over...

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

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

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

      Изящные Деградации

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

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

      простой пример-использование 24-битных Альфа-прозрачных PNGs. Эти изображения могут быть отображены на современных браузерах без проблем. IE5. 5 и IE6 показали бы изображение, но Эффекты прозрачности потерпели бы неудачу (это может быть сделано, чтобы работать при необходимости). Старые браузеры, которые делают не поддерживает PNG будет показывать alt текст или пустое пространство.

      разработчики, принимающие изящную деградацию, часто указывают свой уровень поддержки браузера, например, браузеры уровня 1 (лучший опыт) и браузеры уровня 2 (ухудшенный опыт).

      Постепенное Повышение

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

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

      прогрессивное улучшение не требует от нас выбора поддерживаемых браузеров или возврата к табличным макетам. Мы выбираем уровень технологии, т. е. браузер должен поддерживать HTML 4.01 и стандартные запросы/ответы на страницы.

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

      или альтернативно установите свой бар на самый низкий уровень (возможно, рысь?) и как раз используйте прогрессивное повышение.

      Я смущен тем, что разница между Постепенное Повышение и Изящные Деградации . Мне кажется, это одно и то же.

      не могли бы вы объяснить мне разницу между двумя и в какой ситуации я бы использовать один над другим?

      8 ответов

      Они почти то же самое, но они отличаются в контексте.

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

      Если вы хотите увеличить опыт для тех, кто случайно использует FF3.6 или Safari 4 или какой-то другой разработчик whizbang nightly webkit whathaveyou, вы хотите сделать удивительные вещи, как

      • закругленные углы через css
      • затененный текст (но, пожалуйста, Боже, не слишком много)
      • drop shadows (см. выше в скобках)

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

      с другой стороны, ваш нишевый сайт Nintendo привлекает достаточное количество пользователей IE5. Бедный ты, но ты также хочешь убедиться, что они продолжают возвращаться. Вы можете предоставить альтернативу вашему поведению ajax, включив сценарий ajax во внешний файл, и если их JS не включен, возможно, Ваши ссылки обновляют всю страницу. Так далее. С точки зрения лучшие современные практики , вы убедитесь, что некоторые исторические рынки обслуживаются некоторое подобие функционального сайта . Это изящный деградация .

      Они в основном идентичны, но отличаются с точки зрения приоритета для многих команд разработчиков: PE довольно приятно, если у вас есть время, но GD часто необходимые

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

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

      в конце концов, они действительно одно и то же, рассматриваемое с двух разных точек зрения.

      направление от выбранного базовый для каждого понятия разные.

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

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

      Я думаю, что можно было бы использовать обе концепции, если позволит время/бюджет. Если нет, то предпочтительнее изящная деградация.

      Извините, что воскрешаю что-то, что старше года, но чувствовал, что могу внести свой вклад, в некотором роде, мое собственное мнение по этому вопросу.

      хотя я согласен с Алексом Mcp и deceze в некотором роде, термины "изящная деградация" и "прогрессивное улучшение" имеют несколько иное значение, чем я стою.

      изящные деградации , много времени (на мой взгляд), кажется, больше палки, чтобы бить приложение в представлении после того, как это был построен плохо в первую очередь в моем опыте. Как кто-то строит какой-то огромный объект javascript, который предоставляет пользователю что-то действительно классное, чтобы играть, пока не придет менеджер, проверяет вещь, и все бегут кричать, бросая руки, когда дело доходит до их внимания, что их приложение не работает в 35% браузеров. "кто-то лучше предусмотреть запасной вариант для этого."

      Постепенное Повышение хотя (и это такой хороший термин, чтобы сказать тоже), казалось бы, больше о создании чего-то, что просто работает, на начальном уровне, везде, с помощью самых основных доступных методов, чтобы обеспечить всю функциональность, которая нужна пользователю. Затем это можно добавить с помощью аккуратных маленьких ненавязчивых помощников, укладки и т. д. это фактически улучшает пользовательский опыт рассматриваемого приложения, а не просто делает его едва пригодным для использования. ", что выглядит круто. Работает ли он в IE6. О да. Он Делает"

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

      Тирада закончилась...

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

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

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

      Изящные Деградации

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

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

      простой пример-использование 24-битных Альфа-прозрачных PNGs. Эти изображения могут быть отображены в современных браузерах без проблем. IE5.5 и IE6 покажут изображение, но Эффекты прозрачности не сработают (при необходимости его можно заставить работать). Старые браузеры, которые делают не поддержка PNG покажет текст alt или пустое пространство.

      разработчики, принимающие изящную деградацию, часто указывают свой уровень поддержки браузера, например, браузеры уровня 1 (лучший опыт) и браузеры уровня 2 (деградированный опыт).

      Постепенное Повышение

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

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

      прогрессивное улучшение не требует от нас выбора поддерживаемых браузеров или возврата к макетам на основе таблиц. Мы выбираем уровень технологии, т. е. браузер должен поддерживать HTML 4.01 и стандартные запросы/ответы на страницы.

      вернемся к нашему примеру изображение, мы можем решить, что наше приложение должно работать во всех графических браузерах. Мы могли бы использовать более низкое качество GIF изображения по умолчанию, но заменяют их 24-битными png, когда браузер поддерживает их.

      ссылки

      Википедия: Постепенное Повышение и



Рекомендуем почитать

Наверх