Глава 20
Сага аб CSS

Дадзены дакумент з'яўляецца перакладам артыкула "Chapter 20: The CSS saga".
Арыгінальная версія якога існуе толькі на сайце W3C http://www.w3.org/Style/LieBos2e/history/
Дадзены пераклад не з'яўляецца афіцыйным дакументам W3C.
Усе Аўтарскія Правы Належаць W3C.
Дадзены дакумент можа ўтрымоўваць памылкі перакладу і памылкі друку.

Аўтар: Аляксей Пятроў ( усе пераклады ) Дзякуй за падтрымку: Чорны квадрат



Гэта глава 20 кнігі Cascading Style Sheets, designing for the Web, by Hеkon Wium Lie and Bert Bos (2nd edition, 1999, Addison Wesley, ISBN 0-201-59625-3)

Сага аб CSS пачынаецца ў 1994 годзе. Адзін із аўтараў гэтай кнігі працуе ў CERN - зыбка Web - і Web пачынае выкарыстоўвацца як платформа для электроннага публікавання. Аднак, адсутнічае адна важная частка - магчымасць стылізавать дакументы. Напрыклад, няма ніякай магчымасці зрабіць Web-старонку падобную на газэту. Працуя над гэтым у MIT Media Laboratory, Håkon бачыў неабходнасть у стварэнні мовы стылю для Web-старонак.

Ідэя стварэння стылю старонак для браўзэраў была не новая. Аддзяленне структуры дакумента ад яго размяшчэння было мэтай HTML з самога пачатку ў 1990. Tim Berners-Lee напісаў NeXT браўзэр/рэдактар, які мог вызначыць стыль, як прастой стыль старонкі. Аднак ён не адлюстроўваў сінтаксіс для стылю старонак, падаючы гэта права кожнаму браўзэру самастойна вырашаць, як лепш адлюстроўваць старонкі для карыстачоў. Іншыя браўзэры, уключаючы Pei Wei's Viola (1992) і Harmony browser (1993) ( The Hyper-G system была адным з ранніх канкурэнтаў Web) для сістэмы Hyper-G мелі супастаўныя мовы стылю.

Але замест навейшых стыляў для старонак, пералічаныя браўзэры прапаноўвалі карыстачам усё менш і менш магчымасцяў уплываць на стыль. У 1993 году выходзіць браўзэр NCSA Mosaic які зрабіў папулярным Web. Аднак гэта быў крок назад, паколькі браўзэр прапаноўваў карыстачам толькі змяняць вызначаную колькасць шрыфтоў і колераў.

Тым часу аўтары Web-старонак скардзіліся на тое, што ў іх не было дастатковага ўплыву на то, як іх старонкі выглядаюць. Адным з першых пытанняў для новага аўтара ў Web быў - як змяняць шрыфты і колеры элементаў. HTML тады не забяспечваў гэтыя функцыянальныя магчымасці - і гэта заканамерна. Гэтая вытрымка з ліста, дасланага спісу адрасатаў www-гутаркі ў пачатку 1994, дае адчуванне напружаных адносін паміж аўтарамі і стваральнікамі:

(Гэты ліст цалкам даступны тут www-talk archive.)

In fact, it has been a constant source of delight for me over the past year to get to continually tell hordes (literally) of people who want to -- strap yourselves in, here it comes -- control what their documents look like in ways that would be trivial in TeX, Microsoft Word, and every other common text processing environment: "Sorry, you're screwed."

Аўтарам гэтага ліста быў Marc Andreessen - адзін з праграмістаў браўзэра NCSA Mosaic. Пазней ён стаў сузаснавальнікам Netscape і яго позіркі - калі гэта былі яго позіркі - змяніліся. 13 кастрычніка 1994 Marc Andreesse абвясціў, што першая бэта - версія Mozilla (які пазней ператварыўся ў Навігатара Netscape) была даступна для выпрабавання. Апроч новых тэгаў новы браўзэр падтрымліваў center і больш тэгаў павінна было з'явіцца неўзабаве.

За тры дня да таго, як Netscape абвясціў прыдатнасць яго новага браўзэра, Håkon выдаў першы праектCascading HTML Style Sheets. Dave Raggett (галоўны архітэктар HTML 3.0) нягласна заахвоціў выпуск праекту выходзіць перад надыходзячай "Mosaic and the Web" ("Mosaic and the Web" канферэнцыя была праведзеная 17-20 кастрычніка 1995. Гэта была другая канферэнцыя ў тым, што пазней стала шэрагам Канферэнцый WWW) канферэнцыей у Чыкага. Dave зразумеў, што HTML ніколі не павінен ператварыцца ў мову апісання старонак і што больш спецыфічны механізм павінен быў задаволіць патрабаванні аўтараў. Хоць першая версія дакумента была няспелай, гэта забяспечыла карысную падставу для дыскусій.

Сярод людзей, якія адказвалі за першы праект CSS, быў Bert Bos, суаўтар гэтай кнігі. У тый час ен працаваў над Argo (Argo - гэта браўзэр, частка праэкта, мэтай якога было стварэнне даступнага інтэрнет для для навукоўцаў гуманітарыяў. Ен меў plug-ins (якія называліся "applets") да таго як Netscape дадаў іх), вельмі наладжвальны браўзэр і ён вырашыў аб'яднаць сілы з Hеkon. Абодва з гэтых двух прапаноў выглядаюць выдатнымі ад сучаснага CSS, але не цяжка вылучыць арыгінальныя паняцці.

Адной з асаблівасцяў Argo было, то што ён мог быць ужыты для вышэйпаказаных моў у дадатку да HTML. Гэта таксама стала мэтай праекту CSS і "HTML" быў неўзабаве выдалены з назову спецыфікацыі. Argo таксама меў іншыя перадавыя асаблівасці, якія не выконваліся ў CSS level 1, у спецыфічных выбаршчыках атрыбутаў і згенераваным тэксце. Абедзве навінкі чакалі CSS2.

"Cascading Style Sheets" не з'яўляўся ў то час адзінай мовай стылю. Pei Wei ад браўзэра Viola і Robert Raisch выдавецтвы O'Reilly напісалі другі, ужо ў чэрвені 1993. І затым ен стаў DSSSL, складаны стыль і мова ператварэння пры развіцці ў (ISO) Міжнароднай Арганізацыі па Стандартызацыі для таго, каб друкаваць дакументы SGML. DSSSL таксама мог быць ужыты да HTML. Але CSS меў адну асаблівасць, якая адрознівала ад усіх іншых: у Web стыль дакумента не мог быць распрацаваны аўтарам або чытачом самастойна, але іх пажадання павінны былі быць аб'яднаныя, або "cascaded", у некаторым родзе, і фактычна, не толькі пажаданні чытача і аўтара, але таксама магчымасці дысплея і браўзэра.

Як і запланавана, пачатковая прапанова CSS было прадстаўлена на канферэнцыі Web у Чыкага ў лістападзе 1994. Паданне выклікала бурнае абмеркаванне. Першым чынам, канцэпцыя балансу паміж аўтарскімі і карыстацкімі перавагамі была новая. Скрын-шот паказаў паўзунок з цэтлікам "карыстач" на адным боку і "аўтар" на іншым. Рэгулюючы паўзунок, карыстач мог змяніць перавагі аўтара на свае. У другіх, CSS быў успрыняты некаторымі занадта простым для задачы, для якой ён быў распрацаваны. Яны сцвярджалі, што, каб распрацоўваць дакументы, неабходны ўсёмагутная мова праграмавання. CSS жа насупраць з'явіўся поўнай супрацьлегласцю, робячы ўпор на то, каб быць простым, дэкларатыўным фарматам.

На наступнай канферэнцыі WWW у красавіку 1995, быў зноў прадстаўлены CSS . (WWW3, трэцяя канферэнцыя ў шэрагу WWW, была праведзена 10-14 красавіка 1995, у Дармштацце, Нямеччына). І Берт і Håkon былі там (фактычна, гэта была наша першая асабістая сустрэча), і на гэты раз змаглі таксама паказаць выкананне. Берт прадставіў падтрымку стылю старонак у Argo, і Håkon паказаў версію браўзэра Arena, які быў зменены, каб падтрымліваць CSS. Arena была напісаная Dave Raggett як выпрабавальны стэнд для новых ідэй, і адной з іх была стыль старонак. Што з'явілася тэхнічным увасабленнем скончыўшы спрэчкі аб балансе аўтара і карыстача. Прадстаўнікі ад боку "аўтара" сцвярджалі, што аўтар у канчатковым рахунку павінен адказваць за то як дакументы выглядаюць. Напрыклад - сцвярджалася - што могуць быць юрыдычныя патрабаванні аб тым, як папярэджанне павінна быць надрукавана, і карыстач не павінен быць у стане паменшыць памер шрыфта для такіх папярэджанняў. Іншы бок, да якой прыналежыць і аўтар гэтай кнігі, сцвярджала, што карыстачу трэба даць апошняе слова ў выпадку якіх-небудзь канфліктаў.

Па-за плоскасцю спрэчак, працягвалася тэхнічная праца. www-style mailing list быў створаны ў траўні 1995, і абмеркаванні там часта ўплывалі на развіццё спецыфікацый CSS. Тры года праз было ўжо больш чым 4 000 паведамленняў у архівах спісу адрасатаў.

У 1995 Кансорцыўм Сусветнай Павуціны (W3C) таксама стаў кіраваным. Кампаніі далучаліся да Кансорцыўма па высокай норме, і арганізацыя стала ўстаяшайся. Сімпозіўмы на розныя тэмы, былі выдатнай магчымасцю для Чальцоў W3C і Персанала, каб сустрэцца і абмеркаваць будучыню тэхнічнага развіцця. Было вырашана, што наступны сімпозіўм павінен быць арганізаваны, з позвай дня - Стыль Старонак. Тэхнічны штат W3C, які ўздзейнічае ў пракэкте стылі старонак (а менавіта, два аўтара гэтай кнігі) быў зараз размешчаны ў Sophia-Antipolis у Паўднёвай Францыі, дзе W3C абгрунтаваў свой еўрапейскі ўчастак. Паўднёвая Францыя не горшае месца, каб спакусіць удзельнікаў сімпозіўма, але шматлікія з патэнцыйных удзельнікаў былі з ЗША, было вырашана правесці сімпозіўм у Парыжы з-за лепшага міжнароднага авія паведамлення. Сімпозіўм быў таксама эксперыментам, мэта якога - пазнаць ці магчыма для W3C арганізаваць падзеі па-за ЗША. Сапраўды, гэта, апынулася магчымым, і сімпозіўм быў вяхой у забеспячэнні стылю старонак іх законнага месца ў Web. Сярод удзельнікаў быў Thomas Reardon ад Microsoft , які засведчыў у падтрымцы CSS у наступных версіях Internet Explorer.

У канцы 1995, W3C зрабілі HTML Editorial Review Board (HTML ERB), каб ратыфікаваць будучыя спецыфікацыі HTML. Так як, стыль старонак былі ў межах сферы інтарэсаў чальцоў новай групы, спецыфікацыя CSS з'явілася як пункт працы з мэтай ператварэння яе ў Рэкамендацыю. Сярод чальцоў HTML ERB быў Lou Montulli ад Netscape. Пасля таго, як Microsoft заявіла аб падтрымцы CSS у яе браўзэры, гэта было важна таксама атрымаць Netscape. Інакш, магло быць так, што Web адхілілася ў розных указаннях з браўзэрамі, якія падтрымліваюць розныя спецыфікацыі. Бітвы ў межах HTML, ERB былі доўгім і цвёрдымі, але CSS level 1 нарэшце, з'явілася як Рэкамендацыя W3C у снежні 1996.

У лютым 1997 CSS атрымаў яго ўласную працоўную групу ў W3C і новая група намерваюцца ўздзейнічаць на асаблівасці, да якіх не звяртаўся CSS1. Група была пад старшынствам Chris Lilley, Шатландзец прымаўся на працу ў W3C з Універсітэта Манчэстэра. Узровень CSS 2 стаў Рэкамендацыяй у траўні 1998, і ўзровень 3 будзе верагодна прытрымлівацца да канца 1999. Тым часам, не толькі HTML належыць на CSS для яго падання. Шмат XML базіруюшчыхся фарматаў таксама патрабуюцца ў CSS, і браўзэры, якія выходзяць у канцы 1998, паказваюць першае, усё яшчэ некалькі абмежаваныя, крокі да падання дадзеных XML.

Працоўная група W3C, афіцыйны назоў якой "Cascading Style Sheets and Formatting Properties Working Group" бо яны робяць больш чым проста CSS, мае прыблізна 15 чальцоў, дэлегаваных кампаніямі і арганізацыямі, якія з'яўляюцца чальцамі W3C. Яны прадстаўленыя са ўсіх кантынентаў, такім чынам "сустрэчы" адбываюцца звычайна па тэлефоне, прыблізна гадзіна ў тыдзень. Прыблізна чатыры разы штогод, яны сустракаюцца дзе-небудзь у свеце. Нядаўнімі месцамі сустрэчы быў Прово, Рэдманд, Сан-Францыска і Парыж. У Парыжы сустрэча была праведзеная ў офісах EDF-GDF, французскага электра і газавай кампаніі. На той сустрэчы, групе прапаноўвалі цудоўны абед: французская кухня, прапускалая Парыж і Сену - адзін з некалькіх гламурных момантаў у гісторыі працавітай тэхнічнай працоўнай групы. Кожны Француз, павінна быць, быў раўнівы; яны звычайна не атрымоўваюць нешта бясплатна ад іх газу і электра пастаўшчыка.

Браўзэры

Сага CSS не поўная без аповяду аб браўзэрах. Калі бы гэта не было для браўзэраў, CSS заставаўся бы высокай прапановай толькі акадэмічнай цікавасці. Першы камерцыйны браўзэр, які падтрымае CSS быў Internet Explorer Microsoft 3, які быў выпушчаны ў жніўні 1996. У тым пункце, спецыфікацыя CSS1 яшчэ не стала Рэкамендацыяй W3C і абмеркаваннямі ў межах HTML, ERB павінны былі прывесці да змен, якія распрацоўнікі Microsoft, на чале з Chris Wilson, не маглі прадбачыць. IE3 надзейна падтрымлівае большасць колераў, фонаў, шрыфтоў і ўласцівасцяў тэксту, але ўсё жа не выконвае немалую частку.

Наступны браўзэр, які абвесціць падтрымку быў Навігатарам Netscape, версіяй 4.0. Бо дачыненне Netscape да стыляў старонак было скептычным, першым чынам кампанія спрабавала мяшаць заяве Microsoft, аб падтрымцы большай колькасці стандартаў чым у іх. Netscape падтрымлівае шырокі дыяпазон асаблівасцяў - напрыклад, плавальныя элементы - але распрацоўнікі Netscape не мелі часу, каб цалкам праверыць усе асаблівасці, якія магчыма падтрыманыя. Вынік складаецца ў тым, што шмат уласцівасцяў CSS не могуць выкарыстоўвацца ў Navigator 4.

Netscape ажыццявіў CSS унутрана, перакладаючы правілы CSS на ўрыўкі Javascript, якімі тады кіравалі нараўне з іншымі арыгіналамі. Кампанія таксама вырашыла дазволіць распрацоўнікам пісаць JSSS, такім чынам абыходзячы CSS цалкам. Калі бы JSSS быў паспяховы, то Web мела бы яшчэ адзін стыль старонкі, у якім няма патрэбы. Гэта, да шчасця для CSS, апынулася, не здарылася.

Тым часам Microsoft працягвала высілкі каб замяніць Netscape на троне кіруючых браўзэраў. У Internet Explorer 4 рухавік адлюстравання браўзэра - які паміж іншым з'яўляецца адказным за тое, што аддаў CSS - быў заменены модулем пад кодавым назовам "Trident". Trident выдаліў шматлікія з абмежаванняў у IE3, але таксама і ішоў з яго ўласным наборам абмежаванняў і памылак. IE4 цалкам не падтрымлівае CSS1 - сёе-тое, што Web Standards Project (WaSP) высунуў на першы план у лістападзе 1998, калі яны здалёк "Топ 10 Праблем IE CSS" (ілюстрацыя 20.1).

Ілюстрацыя 20.1 Праект WaSP адсочвае адпаведнасць браўзэра да Рэкамендацыі W3C. Адным з іх першых аглядаў быў CSS падтрымка ў Microsoft Internet Explorer.

Screendump of WaSP page about M

У дадатак да паказу статычных дакументаў Trident таксама здольны да дынамічнай змены стылістычных уласцівасцяў. Напрыклад, элементы могуць ажывіцца на экране, бесперапынна змяняючы іх верхнія і левыя ўласцівасці, такім чынам якія ствараюць "Дынамічны HTML" (DHTML). У прынцыпе, DHTML вельмі падобны JSSS (яны абодва выкарысталі scripting мовы, каб усталяваць стылістычныя ўласцівасці), але DHTML ніколі не падносіўся як альтэрнатыўная мова стылю старонак. Сапраўды, CSS - неад'емная частка DHTML.

Трэцім браўзэрам, які рызыкаваў у CSS, была Opera. Браўзэр ад маленькай нарвежскай кампаніі зрабіў загалоўкі ў 1998, быўшы малюсенькім (улазіць на floppy), і наладжвальны, падтрымліваючы большасць асаблівасцяў, знойдзеных у вялікіх прапановах ад Microsoft і Netscape. Опера 3.5 была выпушчаная ў лістападзе 1998, і падтрымлівае большасць CSS1. Распрацоўнікі Opera (а менавіта, Geir Ivars) знайшлі час на праверку выканання да рэлізу. Набор тэсту CSS1, распрацоўнік Eric Meyer з дапамогай незлічонай колькасці добраахвотнікаў, зрабіў магчымасць значна лягчэй для канструктараў праверыць і паляпшаць іх прадукты.

Як і гэты тэкст пішацца, Netscape і Microsoft таксама ўпарта працуюць, каб атрымаць іх наступныя браўзэры. Netscape вырашыў замяніць рухавік паказу ў Навігатары з "nglayout", які быў напісаны на пустым месцы з CSS як адзін з фондаў. Іх новы браўзэр - пад кодавым назовам "Gecko", і Вы можаце загрузіць версіі бэта ад http://www.mozilla.org. Microsoft выпусціла версіі папярэдняга прагляду Internet Explorer 5. Некаторыя ўдасканаленні CSS знаходзяцца ўжо ў месцы, і чакаецца, што ініцыятыва WaSP нагадае кампаніі, што ёсць усё яшчэ некаторая праца, якую трэба зрабіць перш, чым CSS1 цалкам будзе падтрыманы.

Вэбсайт гэтай кнігі будзе мець спасылкі на апошнія браўзэры CSS.