این یک ترجمه است. ممکن است حاوی خطا باشد یا با توجه به نسخه انگلیسی از تاریخ خارج شود. مترجم: Alex White
این فصل 20 از کتاب شیوه نامه های آبشاری، طراحی برای وب، توسط هاکون ویوم لی و برت بوس است (ویرایش دوم، 1999 ادیسون وسلی، ISBN 0-201-59625-3)
حماسه CSS در سال 1994 شروع می شود. یکی از نویسندگان این کتاب در CERN - مهد وب - کار می کند و وب شروع به استفاده به عنوان بستری برای انتشار الکترونیکی کرده است. با این حال، یک بخش مهم از یک پلت فرم انتشار گم شده است: هیچ راهی برای سبک دادن به اسناد وجود ندارد. به عنوان مثال، هیچ راهی برای توصیف یک طرح روزنامه مانند در یک صفحه وب وجود ندارد. هاکون پس از کار بر روی ارائه روزنامه های شخصی در آزمایشگاه رسانه MIT، نیاز به یک زبان شیوه نامه برای وب را دید.
برگه های سبک در مرورگرها ایده کاملا جدیدی نبود. جداسازی ساختار سند از طرحبندی سند، هدف HTML از آغاز آن در سال 1990 بود. تیم برنرز لی مرورگر/ویرایشگر NeXT خود را به گونهای نوشت که بتواند سبک را با یک شیوه نامه ساده تعیین کند. با این حال، او نحوی را برای شیوه نامه ها منتشر نکرد، زیرا این موضوعی است که هر مرورگر باید تصمیم بگیرد که چگونه صفحات را به بهترین شکل برای کاربران خود نمایش دهد. سایر مرورگرها، از جمله Pei Wei's Viola (1992) و مرورگر Harmony (1993) ( سیستم Hyper-G system یکی از رقبای اولیه وب) برای سیستم Hyper-G بود که دارای زبان های سبک مشابه بود.
اما به جای شیوه نامه های پیشرفته تر، مرورگرهایی که دنبال کردند گزینه های کمتر و کمتری را برای تأثیرگذاری بر سبک به کاربران خود ارائه کردند. در سال 1993، NCSA Mosaic، مرورگری که وب را محبوب کرد، عرضه شد. با این حال، این یک گام به عقب بود زیرا فقط به کاربران خود اجازه می داد رنگ ها و فونت های خاصی را تغییر دهند.
در همین حال، نویسندگان صفحات وب شکایت داشتند که تأثیر کافی بر ظاهر صفحات خود ندارند. یکی از اولین سوالات نویسنده ای که تازه وارد وب شده بود، نحوه تغییر فونت و رنگ عناصر بود. HTML در آن زمان این قابلیت را فراهم نمی کرد - و به درستی هم چنین بود. این گزیده از پیامی که در اوایل سال 1994 به فهرست پستی www-talk ارسال شد، احساس تنش بین نویسندگان و اجراکنندگان را نشان میدهد:
(این پیام مجود است در آرشیو www-talk.)
در واقع، در طول یک سال گذشته برای من یک منبع خوشحال کننده دائمی بوده است که بتوانم به طور مداوم به انبوهی (به معنای واقعی کلمه) از افرادی که میخواهند - کنترل کنید اسنادشان به چه شکلی به نظر میرسند - به خودتان بچسبانید، خوشحالم. که در TeX، مایکروسافت ورد، و سایر محیطهای معمول پردازش متن بیاهمیت خواهد بود: "ببخشید، شما خراب شدید."
نویسنده این پیام مارک آندرسن، یکی از برنامه نویسان NCSA Mosaic بود. او بعداً یکی از بنیانگذاران نت اسکیپ شد و تا آن زمان دیدگاههایش - اگر همیشه دیدگاههای او بودند - در مورد قالببندی تغییر کرده بود. در 13 اکتبر 1994 مارک آندرسن به www-talk اعلام کرد که اولین نسخه بتا موزیلا (که بعداً به Netscape Navigator تبدیل شد) برای آزمایش در دسترس است. در میان برچسبهای جدیدی که مرورگر جدید پشتیبانی میکرد، تگهای مرکزی بود و قرار بود به زودی تگهای بیشتری دنبال شوند.
سه روز قبل از اینکه نت اسکیپ در دسترس بودن مرورگر جدید خود را اعلام کند، Håkon اولین پیش نویس از first draft of شیوه نامه های آبشاری HTML را منتشر کرد. در پشت صحنه، دیو راگت (معمار اصلی HTML 3.0) انتشار پیش نویس را تشویق کرده بود تا قبل از برگزاری آتی "Mosaic and the Web" ( کنفرانس "Mosaic and the Web" در 17 تا 20 اکتبر 1995 برگزار شود. این دومین کنفرانس در کنفرانسی بود که بعدها به عنوان کنفرانس سری ) کنفرانس WWW در شیکاگو تبدیل شد. دیو متوجه شده بود که HTML هرگز و نباید هرگز به یک زبان توصیف صفحه تبدیل شود و برای برآوردن نیازهای نویسندگان به مکانیزمی هدفمندتر نیاز است. اگرچه نسخه اول سند ناپخته بود، اما مبنای مفیدی برای بحث فراهم کرد.
از جمله افرادی که به اولین پیش نویس CSS پاسخ دادند، برت بوس، نویسنده مشترک این کتاب بود. در آن زمان او در حال ساخت Argo ( بود. مرورگر Argo بخشی از پروژه ای برای دسترسی به اینترنت برای محققان علوم انسانی بود. قبل از اینکه نت اسکیپ آنها را اضافه کند) پلاگین هایی (که آنها را "اپلت ها" می نامید، ارائه می کرد، یک مرورگر بسیار قابل تنظیم با شیوه نامه ها و او تصمیم گرفت به نیروهای Håkon بپیوندد. هر دو پیشنهاد متفاوت از CSS کنونی به نظر می رسند، اما تشخیص مفاهیم اصلی کار سختی نیست
یکی از ویژگی های زبان سبک آرگو این بود که به اندازه کافی عمومی بود که علاوه بر HTML روی دیگر زبان های نشانه گذاری نیز اعمال شود. این نیز به یک هدف طراحی در CSS تبدیل شد و "HTML" به زودی از عنوان مشخصات حذف شد. Argo همچنین دارای ویژگی های پیشرفته دیگری بود که به سطح 1 CSS راه پیدا نکرد، به ویژه انتخابگرهای ویژگی و متن تولید شده. هر دو ویژگی باید منتظر CSS2 بودند.
"Cascading Style Sheets" تنها زبان سبک پیشنهادی در آن زمان نبود. زبان Pei Wei از مرورگر Viola وجود داشت، و Robert Raisch از انتشارات O'Reilly در ژوئن 1993 زبان دیگری را نوشته بود. و سپس DSSSL وجود داشت، یک سبک پیچیده و زبان تبدیل در حال توسعه در ISO برای چاپ اسناد SGML. . DSSSL را می توان در HTML نیز به کار برد. اما CSS یک ویژگی داشت که آن را از سایرین متمایز می کرد: در نظر داشت که در وب سبک یک سند را نه نویسنده یا خواننده نمی تواند به تنهایی طراحی کند، بلکه خواسته های آنها باید با هم ترکیب شوند. ، یا به نوعی "آبشاری"؛ و در واقع، نه تنها خواسته های خواننده و نویسنده، بلکه قابلیت های دستگاه نمایشگر و مرورگر نیز وجود دارد.
همانطور که برنامه ریزی شده بود، پیشنهاد اولیه CSS در کنفرانس وب در شیکاگو در نوامبر 1994 ارائه شد. ارائه در روز توسعه دهنده باعث بحث های زیادی شد. اول، مفهوم تعادل بین ترجیحات نویسنده و کاربر بدیع بود. یک عکس از صفحه نمایش ساختگی یک نوار لغزنده با برچسب "کاربر" در یک طرف و "نویسنده" در سمت دیگر نشان می دهد. با تنظیم نوار لغزنده، کاربر می تواند ترکیبی از ترجیحات خود و نویسنده را تغییر دهد. دوم اینکه، برخی CSS را برای کاری که برای آن طراحی شده بود بسیار ساده می دانستند. آنها استدلال کردند که برای استایل دادن به اسناد، به قدرت یک زبان برنامه نویسی کامل نیاز است. CSS دقیقاً در جهت مخالف با اشاره به یک فرمت ساده و اعلانی حرکت کرد.
در کنفرانس بعدی WWW در آوریل 1995، CSS دوباره ارائه شد (WWW3, سومین کنفرانس از سری WWW در تاریخ 10-14 آوریل 1995 در دارمشتات آلمان برگزار شد.) در کنفرانس بعدی WWW در آوریل 1995 CSS دوباره ارائه شد. برت و هاکون هر دو آنجا بودند (در واقع، این اولین باری بود که ما شخصاً ملاقات کردیم) و این بار میتوانستیم پیادهسازیها را نیز نشان دهیم. برت پشتیبانی از شیوه نامه ها را در Argo ارائه کرد و Håkon نسخه ای از مرورگر Arena را نشان داد که برای پشتیبانی از CSS اصلاح شده بود. آرنا توسط دیو راگت به عنوان بستر آزمایشی برای ایده های جدید نوشته شده بود و یکی از آنها شیوه نامه ها بود. آنچه که به عنوان ارائه های فنی آغاز شد به بحث های سیاسی در مورد تعادل نویسنده و خواننده ختم شد. نمایندگان طرف "نویسنده" استدلال کردند که نویسنده در نهایت باید مسئول تصمیم گیری در مورد نحوه ارائه اسناد باشد. به عنوان مثال - بحث شد - ممکن است الزامات قانونی در مورد نحوه چاپ برچسب های هشدار وجود داشته باشد و کاربر نباید بتواند اندازه قلم را برای چنین هشدارهایی کاهش دهد. طرف مقابل، جایی که نویسندگان این کتاب به آن تعلق دارند، استدلال کردند که کاربر که در نهایت باید چشم و گوشش را رمزگشایی کند، در مواقعی که درگیری وجود دارد، باید حرف آخر را بزند.
خارج از نبردهای سیاسی، کار فنی ادامه یافت. www-style فهرست پستی www-style در می 1995 ایجاد شد و بحثها در آنجا اغلب بر توسعه مشخصات CSS تأثیر گذاشته است. سه سال بعد بیش از 4000 پیام در آرشیو لیست پستی وجود داشت.
در سال 1995 کنسرسیوم وب جهانی (W3C) نیز عملیاتی شد. شرکتها با سرعت بالایی به کنسرسیوم میپیوندند و سازمان تأسیس شد. کارگاههای آموزشی با موضوعات مختلف راهی موفق برای اعضا و کارکنان W3C برای ملاقات و بحث در مورد توسعه فنی آینده است. بنابراین تصمیم گرفته شد که کارگاه آموزشی دیگری برگزار شود که این بار موضوع شیوه نامه باشد. کارکنان فنی W3C که روی شیوه نامه ها کار می کنند (یعنی دو نویسنده این کتاب) اکنون در سوفیا-آنتیپولیس در جنوب فرانسه قرار داشتند، جایی که W3C سایت اروپایی خود را راه اندازی کرده بود. جنوب فرانسه بدترین مکان برای جذب شرکت کنندگان در کارگاه نیست، اما از آنجایی که بسیاری از شرکت کنندگان بالقوه در ایالات متحده بودند، تصمیم گرفته شد این کارگاه در پاریس برگزار شود که با پروازهای بین المللی بهتر است. این کارگاه همچنین آزمایشی بود تا ببیند آیا امکان سازماندهی رویدادهای خارج از ایالات متحده برای W3C وجود دارد یا خیر. در واقع، این امکان پذیر شد و این کارگاه نقطه عطفی در تضمین جایگاه واقعی صفحات سبک در وب بود. در میان شرکت کنندگان، توماس ریردون از مایکروسافت بود که قول پشتیبانی از CSS در نسخه های آینده اینترنت اکسپلورر را داد.
در پایان سال 1995، W3C هیئت بررسی تحریریه HTML (HTML ERB) را برای تایید مشخصات آتی HTML راه اندازی کرد. از آنجایی که شیوه نامه ها در حوزه مورد علاقه اعضای گروه جدید بود، مشخصات CSS به عنوان یک آیتم کاری با هدف تبدیل آن به یک توصیه در نظر گرفته شد. در میان اعضای HTML ERB، لو مونتولی از نت اسکیپ بود. پس از اینکه مایکروسافت اعلام کرد که پشتیبانی از CSS را در مرورگر خود اضافه می کند، راه اندازی Netscape نیز مهم بود. در غیر این صورت، میتوانیم شاهد واگرایی وب در جهات مختلف با مرورگرهایی باشیم که از مشخصات متفاوتی پشتیبانی میکنند. نبردهای درون HTML ERB طولانی و سخت بود، اما سطح 1 CSS سرانجام در دسامبر 1996 به عنوان یک توصیه W3C ظاهر شد.
در فوریه 1997 CSS گروه کاری خود را در داخل W3C ایجاد کرد و گروه جدید شروع به کار بر روی ویژگی هایی کرد که CSS1 به آنها توجهی نکرد. ریاست این گروه بر عهده کریس لیلی، یک اسکاتلندی بود که از دانشگاه منچستر در W3C استخدام شده بود. سطح 2 CSS در ماه مه 1998 به یک توصیه تبدیل شد و سطح 3 احتمالاً تا پایان سال 1999 دنبال خواهد شد. در این بین، نه تنها HTML برای ارائه خود به CSS متکی است. بسیاری از قالبهای مبتنی بر XML نیز به CSS نیاز دارند، و مرورگرهایی که در اواخر سال 1998 منتشر شدند، اولین قدمها، هنوز تا حدودی محدود، به سمت ارائه دادههای XML را نشان میدهند.
گروه کاری W3C، که نام رسمی آن "گروه کاری Cascading Style Sheets and Formatting Properties" است، از آنجایی که آنها چیزی بیش از CSS انجام می دهند، حدود 15 عضو دارد که توسط شرکت ها و سازمان هایی که عضو W3C هستند، تفویض شده اند. آنها از سراسر جهان می آیند، بنابراین "جلسات" معمولاً تلفنی، حدود یک ساعت در هفته است. حدود چهار بار در سال، آنها در جایی در جهان ملاقات می کنند. مکان های اخیر پروو، ردموند، سانفرانسیسکو و پاریس بوده اند. این نشست در پاریس در دفاتر EDF-GDF، شرکت برق و گاز فرانسه برگزار شد. در آن جلسه، یک شام عالی به گروه پیشنهاد شد: غذاهای فرانسوی مشرف به پاریس و رود سن - یکی از معدود لحظات پر زرق و برق در تاریخ یک کارگروه فنی سخت کوش. هر فرانسوی باید حسادت کرده باشد. آنها به طور معمول چیزی را به صورت رایگان از ارائه دهنده گاز و برق خود دریافت نمی کنند.
حماسه CSS بدون بخشی در مرورگرها کامل نمی شود. اگر مرورگرها نبودند، CSS یک پیشنهاد عالی و تنها با علاقه آکادمیک باقی می ماند. اولین مرورگر تجاری که از CSS پشتیبانی میکرد اینترنت اکسپلورر 3 مایکروسافت بود که در آگوست 1996 منتشر شد. در آن زمان، مشخصات CSS1 هنوز به یک توصیه W3C تبدیل نشده بود و بحثها در HTML ERB منجر به تغییراتی میشد که توسعهدهندگان مایکروسافت به رهبری آنها انجام میشدند. کریس ویلسون، نمی توانست پیش بینی کند. IE3 به طور قابل اعتمادی از بیشتر ویژگی های رنگ، پس زمینه، فونت و متن پشتیبانی می کند، اما بسیاری از مدل جعبه را پیاده سازی نمی کند.
مرورگر بعدی که پشتیبانی را اعلام کرد، Netscape's Navigator، نسخه 4.0 بود. از زمان آغاز به کار، نت اسکیپ نسبت به شیوه نامه ها شک داشت، و اولین پیاده سازی این شرکت تلاشی نیمه کاره برای متوقف کردن مایکروسافت از ادعای سازگاری با استانداردهای بیشتر از خودشان بود. پیادهسازی Netscape از طیف وسیعی از ویژگیها - به عنوان مثال، عناصر شناور - پشتیبانی میکند، اما توسعهدهندگان Netscape زمانی برای آزمایش کامل همه ویژگیهایی که ظاهراً پشتیبانی میشوند، نداشتند. نتیجه این است که بسیاری از ویژگی های CSS نمی توانند در Navigator 4 استفاده شوند.
نت اسکیپ CSS را به صورت داخلی با ترجمه قوانین CSS به قطعات جاوا اسکریپت پیاده سازی کرد، که سپس همراه با اسکریپت های دیگر اجرا شدند. این شرکت همچنین تصمیم گرفت به توسعه دهندگان اجازه دهد تا JSSS بنویسند و بدین ترتیب CSS را به طور کامل دور بزنند. اگر JSSS موفق بود، وب یک شیوه نامه بیشتر از آنچه لازم بود داشت. این، خوشبختانه برای CSS، معلوم شد که اینطور نیست.
در همین حال مایکروسافت به تلاش های خود برای جایگزینی نت اسکیپ از تاج و تخت مرورگرهای حاکم ادامه داد. در اینترنت اکسپلورر 4 موتور نمایش مرورگر - که در میان چیزهای دیگر مسئول ارائه CSS است - با ماژولی با نام رمز "Trident" جایگزین شد. Trident بسیاری از محدودیتها را در IE3 حذف کرد، اما مجموعهای از محدودیتها و اشکالات خاص خود را نیز به همراه داشت. IE4 به طور کامل از CSS1 پشتیبانی نمی کند - چیزی که پروژه استانداردهای وب (WaSP) در نوامبر 1998 هنگامی که "10 مشکل برتر CSS IE" را منتشر کرد (شکل 20.1) برجسته شد.
شکل 20.1 Tپروژه WaSP انطباق مرورگر با توصیه های W3C را دنبال می کند. یکی از اولین بررسی های آنها پشتیبانی از CSS در Microsoft Internet Explorer بود.
Trident علاوه بر نمایش اسناد ثابت، قابلیت تغییر پویا ویژگی های سبک را نیز دارد. به عنوان مثال، عناصر را می توان با تغییر مداوم ویژگی های بالا و سمت چپ آنها روی صفحه متحرک کرد و بنابراین "HTML پویا" (DHTML) ایجاد کرد. در اصل، DHTML بسیار شبیه به JSSS است (هر دو از زبان های برنامه نویسی برای تنظیم ویژگی های سبک استفاده می کنند) اما DHTML هرگز به عنوان یک زبان برگه سبک جایگزین به بازار عرضه نشد. در واقع، CSS بخشی جدایی ناپذیر از DHTML است.
سومین مرورگری که وارد CSS شد Opera بود. مرورگر شرکت کوچک نروژی در سال 1998 با کوچک بودن (روی فلاپی جا می شود) و قابل تنظیم و در عین حال پشتیبانی از اکثر ویژگی های موجود در پیشنهادات بزرگتر مایکروسافت و نت اسکیپ، سرفصل خبرها شد. Opera 3.5 در نوامبر 1998 منتشر شد و بیشتر CSS1 را پشتیبانی می کند. توسعه دهندگان Opera (یعنی Geir Ivarsøy) نیز زمان لازم را برای آزمایش اجرای خود قبل از ارسال آن پیدا کرده اند. مجموعه آزمایشی CSS1 که توسط اریک مایر با کمک داوطلبان بیشماری توسعه یافته است، آزمایش و بهبود محصولات خود را برای مجریان به طور قابل توجهی آسانتر کرده است.
همانطور که این متن در حال نگارش است، نت اسکیپ و مایکروسافت نیز سخت کار می کنند تا مرورگرهای بعدی خود را در دسترس قرار دهند. نت اسکیپ تصمیم گرفته است که موتور نمایشگر در Navigator را با "nglayout" جایگزین کند که از ابتدا با CSS به عنوان یکی از پایه ها نوشته شده است. مرورگر جدید آنها با نام رمز "Gecko" است و می توانید نسخه های بتا را از http://www.mozilla.org دانلود کنید. مایکروسافت نسخههای پیشنمایش اینترنت اکسپلورر 5 را منتشر میکند. برخی از بهبودهای CSS در حال حاضر انجام شدهاند، و انتظار میرود که ابتکار WaSP به شرکت یادآوری کند که قبل از پشتیبانی کامل از CSS1 هنوز کارهای زیادی برای انجام دادن وجود دارد.
وب سایت این کتاب به آخرین مرورگرهای CSS اشاره می کند.