Поглавје 20
Сагата за CSS

Original: http://www.w3.org/Style/LieBos2e/history/Overview.html
Преведено од: macedonia travels, Top travel buzz
Имајте во предвид дека ова е превод на оригиналниот W3C документ и е во сопственост на W3C. Не преземаме никаква одговорност за грешки во копијата.

Ова е дваесеттото поглавје од книгата „Каскадни стилски листови, дизајнирање за Мрежата“ од Хекон Виум Лие и Берт Бос (второ издание, 1999, Адисон Весли, ISBN 0-201-59625-3)

Сагата на CSS почнува во 1994. Еден од авторите на оваа книга работи во ЦЕРН (CERN) – колепката на Мрежата – и Мрежата започнува да се користи како платформа за електронско издаваштво. Сепак, еден клучен дел од платформата за издавање недостига: нема достап до стилски документи. На пример, на една веб страница не постои начин како да се опише нацрт кој изгледа како весник. Претходно работејќи на персонализирани претставувања на весници при Лабораторијата за медиуми на МИТ, Хекон ја увиде потребата од јазик за стилски листови за Мрежата.

Стилските листови во прелистувачите не беа целосно нова идеа. Разделувањето на структурата на документот од неговиот нацрт беше цел на HTML уште од неговиот зачеток во 1990. Тим Бернерс - Ли го напиша својот NeXT прелистувач/уредник на таков начин што можеше да го одреди стилот со едноставен стилски лист. Сепак, тој не ја објави синтаксата за стилските листови, сметајќи дека секој прелистувач треба да реши како најдобро да им ги прикажува страниците на своите корисници. Други прелистувачи, вклучувајќи го Viola на Пеи Веи (Pei Wei, 1992) и прелистувачот Harmony (1993) (Системот Hyper-G беше еден од раните конкуренти на Мрежата) за системот Hyper-G имаа слични стилски јазици

Но наместо понапредни стилски листови, прелистувачите кои следеа понудија се’ помалку и помалку опции за влијаење врз стилот. Во 1993, се појави Mosaic на NCSA, прелистувачот кој ја направи Мрежата популарна. Од аспект на стилот, сепак, тоа беше чекор назад бидејќи на своите корисници единствено им дозволуваше да менуваат само некои бои и фонтови.

Во меѓувреме, писателите на веб страници се жалеа дека немаат доволно влијание на тоа како изгледаат нивните страници. Едно од првите прашања зададени од автор почетник на Мрежата беше како да се променат боите и фонтовите на елементите. Во тоа време HTML не ја нудеше оваа функционалност – и со право. Овој извадок од порака испратена во почетокот на 1994 до www-talk мејлинг листата ја покажува тензијата помеѓу авторите и применувачите:

(Пораката е достапна од архивата на www-talk.)

Впрочем, ми претставуваше постојан извор на задоволство тоа што во минатата година морав постојано да им кажувам на орди (буквално) луѓе кои сакаат – држете се сега, еве го иде -- да контролираат како изгледаат нивните документи на начин на кој би бил едноставен во TeX, Microsoft Word и сите останати општопознати средини за обработка на текст: „Извинете, зезнати сте.“

Автор на пораката беше Марк Андреесен (Marc Andreessen), еден од програмерите на Mosaic на NCSA. Подоцна тој станува ко-основач на Netscape и дотогаш неговите погледи на форматирањето – ако некогаш биле негови – се сменија. На 13 октомври 1994, на www-talk Марк Андреесен објави дека првото бета издание на Mozilla (кое подоцна се претвори во Netscape Navigator) е достапно за тестирање. Помеѓу новите етикети кои новиот прелистувач ги поддржуваше беше „центрирање“ (center) и набрзо потоа се појавија други етикети.

Три дена пред Нетскејп да го објави својот нов прелистувач, Хекон го објави првиот нацрт од „Каскадни HTML стилски листови“. Надвор од јавноста, Дејв Рагет (Dave Raggett) (главниот архитект на HTML 3.0) го охрабруваше објавувањето на нацртот пред претстоечката конференција во Чикаго ( Конференцијата „Mosaic и Мрежата“ се одржа од 17 до 20 октомври 1995. Таа беше втора по ред конференција од она што подоцна ќе прерасне во WWW Серија конференции) „Mosaic и Мрежата“. Дејв сфатил дека HTML никогаш нема да се претвори во јазик за опишување на страница и дека е потребен механизам изграден со намера да се задоволат барањата на авторите. Иако првата верзија на документот беше недоразвиена, сепак таа претставуваше корисна основа за разговор.

Меѓу луѓето кои одговорија на првиот нацрт на CSS беше Берт Бос (Bert Bos), ко-авторот на оваа книга. Во тоа време тој го правеше Argo, (Прелистувачот Argo беше дел од еден проект да се направи Интернетот достапен за научници од хуманитарните науки. Имаше приклучоци (коишто ги нарекуваше аплети (applets)) пред Netscape да ги додаде), високоприлагодлив прелистувач со стилски листови, и реши да се здружи со Хекон. Обата предлози изгледаат различно од денешните CSS, но не е тешко да се препознаат оригиналните концепти.

Една од карактеристиките на стилскиот јазик на Argo беше тоа што тој беше доволно општ за да може, освен на HTML, да се примени на други јазици за обележување. Ова стана дизајнерска цел на CSS и наскоро „HTML“ беше отстранет од насловот на спецификацијата. Argo исто така имаше други напредни карактеристики кои не успеаа да влезат во Ниво 1 на CSS, особено избирачи на атрибути и генериран текст. Двете карактеристики мораа да чекаат на CSS2.

„Каскадни стилски листови“ не беше единствениот предложен стилски јазик во тоа време. Тука беше јазикот на Пеи Веи од прелистувачот Viola, Роберт Рајш (Robert Raisch) од издавачката куќа Орајли имаше напишано друг до јуни 1993. Исто така тука беше DSSSL, сложен јазик за стил и трансформација развиван од ISO за печатење на SGML документи. Исто така, на HTML можеше разбирливо да се примени DSSSL. Но CSS имаше една карактеристика која го разликуваше од сите други: земаше во предвид дека стилот на документот на Мрежата не може да биде дизајниран самостојно од авторот или од читачот на тој документ, туку дека нивните желби мора да се комбинираат или „каскадираат“ на некој начин; и фактички не само од желбите на авторот или читачот, туку исто така и од можностите на уредот за приказ и на прелистувачот.

Според планираното, почетниот CSS предлог беше претставен на Веб конференцијата во Чикаго во ноември 1994. Претставувањето на Денот на развивачот предизвика многу дискусии. Прво, концептот на рамнотежа меѓу приоритетите на авторот и корисникот беше новина. Замислена слика од екран покажуваше лизгач со ознака „корисник“ од едната и „автор“ од другата страна. Со поместување на лизгачот, корисникот може да ја промени мешавината од неговите лични приоритети и оние на авторот. Второ, од страна на некои, CSS беше гледан како премногу едноставен за задачата за која беше создаден. Тие се тврдеа дека за да се стилизира документ, потребен е целосен програмски јазик. CSS замина во точно спротивната насока истакнувајќи го тоа што има едноставен, декларативен формат.

На следната WWW конференција во април 1995, CSS беше повторно претставен (WWW, третата конференција во WWW серијата, се одржа од 10 до 14 април 1995 во Дармштат, Германија). Берт и Хекон беа двајцата таму (всушност, тоа беше нашата прва средба лице в лице) и овој пат исто така можевме да прикажеме и имплементации. Берт ја претстави поддршката за стилски листови во Argo, додека Хекон покажа верзија на прелистувачот Arena која беше модифицирана за да поддржува CSS. Arena беше напишана од Дејв Рагет како подлога за тестирање нови идеи и една од тие идеи беа стилските листови. Она што почна како техничко претставување заврши како политичка дискусија за рамнотежата автор-читач. Претставниците на „авторската“ страна спореа дека на крајот на краиштата авторот треба да биде одговорен за одлуката како да се прикажат документите. Се спореше, на пример, дека може да има легални барања за тоа како да се печатат натписите со предупредувања и дека корисникот не би требало да може да ја намали големината на фонтот за такви предупредувања. Другата страна, каде што припаѓаат авторите на оваа книга, спореше дека корисникот, чии очи и уши на крај треба да ја декодираат презентацијата, треба да го добие последниот збор во случај да има конфликти.

Настрана од политичките битки, техничката работа продолжи. www-style мејлинг листата беше создадена во мај 1995 и тамошните дискусии многу често влијаеја на развојот на имплементациите на CSS. По три години во архивите на листата веќе имаше повеќе од 4000 пораки.

Во 1995, проработи конзорциумот World Wide Web Consortium (W3C). Компании му се приклучуваа на конзорциумот со голема брзина и наскоро се основа организацијата. Се увиде дека работилниците на различни теми беа успешен начин за средба на членови и персонал на W3C со цел средби и разговори за идниот технички развој. Според тоа се одлучи дека треба да се организира уште една работилница, овој пат со стилски листови како тема. Техничкиот персонал на W3C кој работеше на стилските листови (имено двајцата автори на оваа книга) во ова време се наоѓаа во Софија -Антиополис во јужна Франција, каде што W3C го смести својот европски сајт. Јужна Франција не е најлошото место за да се намамат учесници во работилници, но сепак, бидејќи многу од можните учесници беа од САД се одлучи работилницата да биде одржана во Париз, кој е подобро поврзан со меѓународни летови. Работилницата истовремено претставуваше експеримент за да се види дали W3C може да организира настани надвор од САД. Навистина, тоа се покажа како можно и работилницата беше пресвртница во осигурувањето на заслуженото место на стилските листови на Мрежата. Меѓу учесниците беше Томас Риардон (Thomas Reardon) од Мајкрософт кој вети поддршка за CSS во идните верзии на Internet Explorer-от.

На крајот на 1995 W3C го основа Уредничкиот одбор за HTML (HTML ERB) за ратификување на идните HTML спецификации. Бидејќи стилските листови беа опфатени во кругот на интересите на членовите на новата група, CSS спецификацијата беше земена како работен предмет со цела да се претвори во Препорака. Меѓу членовите на HTML ERB беше Лу Монтули (Lou Montulli) од Netscape. Откако Мајкрософт даде знаци дека ќе додаде поддршка за CSS во неговиот нов прелистувач, беше важно да се придобие и Нетскејп. Во спротивно, ќе видевме како Мрежата се распрснува во различни насоки со прелистувачи кои поддржуваат различни спецификации. Битките внатре во HTML ERB беа долги и тешки, но CSS Ниво 1 конечно се појави како Препорака на W3C во декември 1996.

Во февруари 1997 CSS доби своја сопствена група во склоп на W3C и таа група се заложи да работи на карактеристиките кои CSS1 не ги адресираше. Групата беше оглавена од Крис Лили (Chris Lilley), Шкотланѓанец, регрутиран во W3C од Универзитетот од Манчестер. CSS Ниво 2 стана Препорака во мај 1998, а Ниво 3 најверојатно ќе следи кон крајот на 1999. Во меѓувреме, не само HTML се потпира на CSS за своите претставувања. На многу формати засновани на XML исто така им треба CSS и прелистувачите кои излегуваат кон крајот на 1998 ги покажуваат првите, иако ограничени, чекори кон претставување на XML податоци.

Работната група на W3C, чие официјално име е „Работна група за каскадни стилски листови и форматирачки својства“ бидејќи работи не само на CSS, има околу 15 члена, испратени од компаниите и организациите кои се членови на W3C. Тие доаѓаат од целиот свет, па „состаноците“ обично се одржуваат преку телефон, по околу еден час неделно. Отприлика четирипати годишно, се среќаваат некаде во светот. Последни места за средба беа Прово, Редмонд, Сан Франциско и Париз. Во Париз, состанокот се одржа во просториите на EDF-GDF, француската компанија за струја и гас. На тој состанок на групата и’ беше понудена прекрасна вечера: француска храна, со поглед на Париз и Сена – еден од ретките гламурозни моменти во историјата на трудољубива техничка работна група. Секој Французин сигурно би бил љубоморен; обично тие не добиваат ништо бесплатно од нивниот доставувач на гас и струја.

Прелистувачи

Сагата за CSS не би била целосна без дел за прелистувачи. Доколку не беа прелистувачите, CSS ќе останеше значаен предлог само од академски интерес. Првиот комерцијален прелистувач кој поддржуваше CSS беше Интернет експлорерот 3 на Мајкрософт кој беше објавен во август 1996. Во тоа време, CSS1 спецификацијата сèуште не беше станала Препорака на W3C и внатрешните дискусии во HTML ERB донесоа промени кои развивачите од Мајкрософт, предводени од Крис Вилсон (Chris Wilson) не можеа да ги предвидат. ИЕ3 сигурно ги поддржува многу од својствата за боја, позадина, фонт и текст, но не имплементира многу од моделот за кутија.

Следниот прелистувач кој објави поддршка беше Навигаторот на Нетскејп, верзија 4.0. Уште од неговите зачетоци Нетскејп беше скептичен кон стилските листови и првите имплементации на компанијата се покажаа дека се половичен обид да се запре Мајкрософт да тврди дека е поусогласен со стандарди од нив. Имплементациите на Нетскејп поддржуваат широк спектар на својства – на пример, пловечки елементи – но развивачите на Нетскејп немаа доволно време целосно да ги тестираат сите својства кои теоретски се поддржани. Како резултат на тоа, многу од својствата на CSS не можат да се користат во Навигаторот 4.

Нетскејп го имплементира CSS внатрешно префрлајќи ги правилата на CSS во парчиња (снипети) на Јаваскрипт, кои потоа беа извршувани заедно со останатите скрипти. Исто така, компанијата одлучи да им дозволи на развивачите да пишуваат JSSS, на тој начин целосно заобиколувајќи го CSS. Доколку JSSS се покажеше како успешен, Мрежата ќе имаше еден стилски лист повеќе од потребното. Ова, за среќа на CSS, се покажа како неточно.

Во меѓувреме, Мајкрософт продолжи со своите напори да го отстрани Нетскејп од тронот на владеечки прелистувачи. Во Интернет експлорерот 4 моторот за приказ на прелистувачот – кој меѓу другото е одговорен за превод на CSS—беше заменет од модул со кодно име “Тридент“ (Trident). Тридент ги отстрани многу од ограничувањата на ИЕ3, но во исто време дојде со свој комплет на ограничувања и бубачки. ИЕ4 не поддржува целосно CSS1 – нешто што Проектот за мрежни стандарди (ПМС; Web Standards Project (WaSP) го посочи во ноември 1998 кога ги објавија „Најголемите 10 проблеми на ИЕ“ (фигура 20.1).

Фигура 20.1 ПМС проектот ја следи согласноста на прелистувачите со Препораките на W3C. Едно од нивните први осврнувања беше CSS поддршката во Интернет експлорерот на Мајкрософт.

Приказ на ПМС страницата за М

Во дополнување на прикажувањето на статички документи, Тридент истовремено е во можност динамично да ги променува стилските својства. На пример, елементите може да бидат анимирани на екранот преку постојано менување на нивните својства од горе и лево (top and left) на тој начин создавајќи „динамички HTML“ (DHTML). Во основа, DHTML е многу сличен со JSSS (обата користат скриптирачки јазици за да определување на стилски својства), но DHTML никогаш не беше продаван како алтернативен јазик за стилски листови. Впрочем, CSS претставува интегрален дел од DHTML.

Третиот прелистувач кој се осмели во полето со CSS беше Опера. Прелистувачот од малата норвешка компанија се појави во главните вести во 1998 со тоа што беше мал (го собира на дискета) и прилагодлив а во исто време ги поддржува многу од карактеристиките кои се достапни во поголемите понуди од Мајкрософт и Нетскејп. Опера 3.5 беше објавена во ноември 1998 и поддржува голем дел од CSS1. Развивачите на Опера (имено Геир Иварсој) имаа време да ги тестираат своите имплементации пред да го пуштат прелистувачот во употреба. Комплетот тестови за CSS1 развиен од Ерик Мајер со помош од многубројни доброволци значително им ја олесни работата на применувачите во тестирањето и подобрувањето на своите производи.

Додека овој текст се пишува, Нетскејп и Мајкрософт работат напорно за да ги објават своите идни прелистувачи. Нетскејп одлучи да го замени моторот за приказ во Навигаторот со „nglayout“ кој е новосоздаден со CSS како една од основите. Кодното име на нивниот нов прелистувач е „Геко“ и можете да ја симнете бета верзијата од http://www.mozilla.org. Мајкрософт почна со објавување на верзии за увид на Интернет Експлорерот. Има некои CSS подобрувања и се очекува дека ПМС иницијативата ќе ја потсети компанијата за тоа дека сèуште има работа пред CSS1 да стане целосно поддржан од ИЕ5.

Веб сајтот на оваа книга ќе има показатели кон најновите CSS прелистувачи.