طراحی وب با HTML و CSS فهرست مطالب
فصل ۰

مفاهیم پایه: وب چگونه کار می‌کند

قبل از اینکه اولین خط کد را بنویسیم، بهتر است بدانیم دقیقاً داریم چه چیزی می‌سازیم و آن چیز کجا و چگونه اجرا می‌شود.

در این فصل با این مباحث آشنا می‌شوید
  1. اینترنت و وب یکی نیستند
  2. مرورگر، سرور و مسیر یک صفحه
  3. سه زبان اصلی وب
  4. تگ، عنصر و ویژگی
  5. اسکلت یک فایل HTML
  6. قانون CSS از چه بخش‌هایی ساخته شده
  7. اولین فایل خود را بسازید
  8. ابزارهای کار

۱. اینترنت و وب یکی نیستند

این دو واژه معمولاً به جای یکدیگر به کار می‌روند، اما معنای یکسانی ندارند. اینترنت شبکه‌ای از میلیون‌ها کامپیوتر است که با کابل و آنتن به هم وصل شده‌اند. اینترنت مانند شبکه جاده‌های یک کشور است.

وب یکی از چیزهایی است که روی این جاده‌ها حرکت می‌کند: مجموعه صفحه‌هایی که با لینک به هم وصل شده‌اند. ایمیل، تماس تصویری و بازی آنلاین هم روی همان اینترنت کار می‌کنند، اما هیچ‌کدام وب نیستند.

در این کتاب تمرکز ما تنها روی وب است؛ یعنی همان صفحه‌هایی که در مرورگر باز می‌شوند.

۲. مرورگر، سرور و مسیر یک صفحه

وقتی آدرس سایتی را در مرورگر وارد می‌کنید و کلید Enter را می‌زنید، روند کار به این شکل است:

  1. مرورگر درخواست شما را از طریق اینترنت ارسال می‌کند.
  2. درخواست به سرور می‌رسد؛ کامپیوتری که همیشه روشن است و فایل‌های سایت روی آن نگهداری می‌شود.
  3. سرور فایل‌های صفحه را برمی‌گرداند: یک فایل HTML، چند فایل CSS و تصویر.
  4. مرورگر این فایل‌ها را پردازش می‌کند، صفحه را می‌سازد و نتیجه را نمایش می‌دهد.
نکته مهم برای این دوره

مرحله دوم و سوم برای ما هنوز لازم نیست. فایل HTML روی کامپیوتر خودتان هم با دوبار کلیک در مرورگر باز می‌شود. یعنی برای یادگیری طراحی وب، حتی به سرور یا اینترنت هم نیاز ندارید.

به کسی که بخش قابل مشاهده صفحه را پیاده‌سازی می‌کند توسعه‌دهنده فرانت‌اند می‌گویند و به کسی که برنامه‌های سمت سرور را توسعه می‌دهد توسعه‌دهنده بک‌اند. این کتاب کامل درباره فرانت‌اند است.

۳. سه زبان اصلی وب

هر صفحه وب، حتی اگر بسیار پیچیده باشد، بر پایه سه زبان اصلی ساخته می‌شود. برای درک تفاوت این سه زبان، می‌توانیم آنها را با ساختن یک خانه مقایسه کنیم:

زبان کارش چیست در ساختمان مانند چیست
HTML می‌گوید در صفحه چه چیزی باشد: متن، تصویر، دکمه، فهرست دیوار، در، پنجره و اسکلت خانه
CSS می‌گوید آن چیزها چه شکلی باشند: رنگ، اندازه، فاصله، جای قرار گرفتن رنگ دیوار، کاغذدیواری، چیدمان مبلمان
JavaScript می‌گوید صفحه چه کاری انجام دهد وقتی کاربر کاری می‌کند کلید چراغ، زنگ در، در برقی

یک صفحه با HTML به‌تنهایی هم کار می‌کند، اما ظاهر ساده‌ای دارد. CSS ظاهر آن را شکل می‌دهد و JavaScript رفتار تعاملی به آن اضافه می‌کند. در چهارده فصل اول این کتاب تنها با دو زبان اول کار داریم و در فصل آخر نگاهی کوتاه به سومی می‌اندازیم.

۴. تگ، عنصر و ویژگی

HTML مخفف HyperText Markup Language است، یعنی «زبان نشانه‌گذاری اَبَرمتن». کلمه کلیدی «نشانه‌گذاری» است: ما متن را می‌نویسیم و دور آن نشانه‌هایی می‌گذاریم که به مرورگر بگوید این متن چه نقشی دارد.

به این نشانه‌ها تگ می‌گوییم. یک نمونه ساده:

<p>این یک پاراگراف است.</p>

ساده‌ترین شکل ممکن یک عنصر HTML

این نمونه کوتاه از سه بخش تشکیل شده است:

به مجموعه این سه بخش با هم یک عنصر می‌گوییم. پس تگ تنها آن علامت داخل کروشه است و عنصر یعنی کل بسته.

ویژگی چیست

بعضی تگ‌ها برای کار کردن به اطلاعات بیشتری نیاز دارند. مثلاً تگ تصویر باید بداند کدام تصویر را نشان دهد. این اطلاعات را داخل تگ باز و به شکل ویژگی می‌نویسیم:

<img src="photo.jpg" alt="عکس کلاس درس">

دو ویژگی روی یک تگ

در این مثال:

توجه داشته باشید که تگ تصویر تگ بسته ندارد. چند تگ انگشت‌شمار در HTML این‌طور هستند، چون محتوایی ندارند که بخواهیم آن را در بر بگیریم.

۵. اسکلت یک فایل HTML

از کوچک‌ترین صفحه تا بزرگ‌ترین سایت، فایل HTML همین ساختار پایه را دارد:

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>اولین صفحه من</title>
</head>
<body>

    <h1>سلام دنیا</h1>

</body>
</html>

اسکلت پایه هر فایل HTML

بررسی خط‌به‌خط

یکی از رایج‌ترین اشتباه‌های تازه‌کارها

نوشتن محتوا داخل head به جای body. نتیجه‌اش یک صفحه کاملاً سفید است. اگر صفحه‌تان خالی باز شد، اول همین را بررسی کنید.

۶. قانون CSS از چه بخش‌هایی ساخته شده

CSS مخفف Cascading Style Sheets است. در CSS چیزی به نام تگ نداریم؛ به جای آن قانون می‌نویسیم. هر قانون می‌گوید «کدام عنصرها» باید «چه ویژگی ظاهری» داشته باشند.

h1 {
    color: darkgreen;
    font-size: 32px;
}

یک قانون CSS با دو اعلان

این قانون سه بخش دارد:

هر جفت ویژگی و مقدار را یک اعلان می‌گوییم. بین ویژگی و مقدار دو نقطه می‌گذاریم و انتهای هر اعلان یک نقطه‌ویرگول انگلیسی. فراموش کردن آن نقطه‌ویرگول باعث می‌شود اعلان بعدی هم کار نکند.

۷. اولین فایل خود را بسازید

حالا همه موارد را کنار هم قرار دهیم. مراحل زیر را به‌ترتیب انجام دهید:

  1. روی دسکتاپ یک پوشه بسازید به نام my-site.
  2. داخل آن یک فایل متنی بسازید و نامش را index.html بگذارید.
  3. مطمئن شوید پسوند فایل واقعاً html. است و نه txt.
  4. کد زیر را داخلش بنویسید و ذخیره کنید.
  5. روی فایل دوبار کلیک کنید تا در مرورگر باز شود.
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>اولین صفحه من</title>
    <style>
        body {
            font-family: Tahoma, sans-serif;
            background-color: #f5f5f5;
            padding: 40px;
        }
        h1 {
            color: #2f4f4f;
        }
    </style>
</head>
<body>

    <h1>سلام! این اولین صفحه من است</h1>
    <p>من امروز اولین فایل HTML خودم را ساختم.</p>

</body>
</html>

اولین صفحه کامل، شامل HTML و CSS

در این نمونه چه اتفاقی افتاده است

این فایل همان اسکلت بخش قبل است، با دو اضافه. اول تگ <style> داخل head که جایی است برای نوشتن قانون‌های CSS. دوم دو قانونی که داخلش نوشتیم:

عدد f5f5f5# یک رنگ است که به روش شانزده‌شانزدهی نوشته شده. فعلاً لازم نیست بدانید چگونه کار می‌کند؛ در فصل سوم کامل توضیح داده می‌شود.

همین الان امتحانش کنید

در فایلی که ساختید، مقدار darkgreen یا رنگ عنوان را به red عوض کنید، فایل را ذخیره کنید و در مرورگر کلید F5 را بزنید. همین حلقه ساده «بنویس، ذخیره کن، تازه کن» کل روش کار یک طراح وب است.

۸. ابزارهای کار

برای این دوره تنها به دو چیز نیاز دارید:

ابزار بررسی صفحه

در هر مرورگری کلید F12 را بزنید. پنجره‌ای باز می‌شود که در آن می‌توانید کد HTML و CSS هر صفحه‌ای را ببینید، حتی صفحه‌های سایت‌های بزرگ. این بهترین ابزار یادگیری شماست: هر جا طراحی جالبی دیدید، F12 بزنید و ببینید چگونه ساخته شده است.

فایل‌های تمرینی این فصل

این فصل نمونه اختصاصی ندارد، چون مقدمه است. از فصل بعد با پوشه 01-html-basics شروع می‌کنیم.

خلاصه فصل

مفهوم خلاصه
اینترنتشبکه کامپیوترها
وبصفحه‌هایی که با لینک به هم وصل‌اند و روی اینترنت جابه‌جا می‌شوند
مرورگربرنامه‌ای که فایل‌های صفحه را می‌خواند و آن را نمایش می‌دهد
سرورکامپیوتری که همیشه روشن است و فایل‌های سایت را نگه می‌دارد
HTMLمحتوای صفحه
CSSظاهر صفحه
JavaScriptرفتار صفحه
تگنشانه‌ای مانند <p> که نقش یک قسمت را مشخص می‌کند
عنصرتگ باز، محتوا و تگ بسته، همه با هم
ویژگیاطلاعات اضافه داخل تگ باز، مانند src

تمرین‌های فصل صفر

  1. پوشه my-site و فایل index.html را بسازید و کد بخش هفتم را در آن بنویسید.
  2. عنوان صفحه در سربرگ مرورگر را به نام خودتان تغییر دهید.
  3. یک پاراگراف دوم اضافه کنید و در آن بنویسید امیدوارید در پایان این دوره چه چیزی بسازید.
  4. رنگ پس‌زمینه صفحه را به white و رنگ عنوان را به #ff6347 تغییر دهید.
  5. سایت مورد علاقه‌تان را باز کنید، F12 را بزنید و پنج تگ آشنا در کدش پیدا کنید.
فهرست مطالب فصل بعد: اولین صفحه