۲

رنگ‌ها و پس‌زمینه‌ها

کار با رنگ‌ها، پس‌زمینه‌ها و تصاویر در CSS

رنگ‌ها و پس‌زمینه‌ها در CSS

هنر زیبا کردن صفحات با رنگ‌های جذاب

در این درس یاد می‌گیریم چطور صفحات وب خود را با رنگ‌های زیبا و پس‌زمینه‌های جذاب تزئین کنیم. مثل این که یک نقاش باشید و بخواهید تابلوی خود را با رنگ‌های مختلف زنده کنید! 🎨

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

نکته جالب:

اولین وب‌سایت‌های رنگی در اوایل دهه ۱۹۹۰ ظاهر شدند و انقلابی در طراحی وب ایجاد کردند!

روش‌های تعریف رنگ در CSS

CSS چندین روش مختلف برای تعریف رنگ‌ها دارد. مثل این که یک نقاش چندین نوع رنگ مختلف در اختیار داشته باشد! 🎨

روش‌های تعریف رنگ
/* ۱. نام رنگ‌ها */
h1 {
    color: red;
    background-color: yellow;
}

/* ۲. کد هگزادسیمال */
h2 {
    color: #ff0000;  /* قرمز */
    background-color: #00ff00;  /* سبز */
}

/* ۳. RGB */
h3 {
    color: rgb(255, 0, 0);  /* قرمز */
    background-color: rgb(0, 255, 0);  /* سبز */
}

/* ۴. RGBA (با شفافیت) */
h4 {
    color: rgba(255, 0, 0, 0.8);  /* قرمز با ۸۰٪ شفافیت */
    background-color: rgba(0, 255, 0, 0.5);  /* سبز با ۵۰٪ شفافیت */
}

نمایش در مرورگر:

رنگ با نام (red/yellow)

رنگ با کد هگز (#ff0000/#00ff00)

رنگ با RGB

رنگ با RGBA (شفاف)

نکته مهم:

RGBA برای ایجاد شفافیت استفاده می‌شود. عدد آخر (Alpha) بین ۰ تا ۱ است که ۰ کاملاً شفاف و ۱ کاملاً مات است!

پس‌زمینه (Background)

پس‌زمینه مثل کاغذ دیواری خانه است! می‌توانید رنگ، تصویر و حتی گرادیان اضافه کنید. 🏠

ویژگی‌های پس‌زمینه
/* رنگ پس‌زمینه */
.box1 {
    background-color: lightblue;
}

/* تصویر پس‌زمینه */
.box2 {
    background-image: url('pattern.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* گرادیان خطی */
.box3 {
    background: linear-gradient(45deg, red, yellow, green);
}

/* گرادیان شعاعی */
.box4 {
    background: radial-gradient(circle, blue, lightblue, white);
}

/* ترکیب چندین پس‌زمینه */
.box5 {
    background-color: #f0f0f0;
    background-image: url('dots.png');
    background-repeat: repeat;
    background-size: 20px 20px;
}

نمایش در مرورگر:

رنگ پس‌زمینه آبی روشن
گرادیان خطی رنگارنگ
گرادیان شعاعی آبی
پس‌زمینه با الگو

گرادیان‌ها (Gradients)

گرادیان‌ها مثل رنگین کمان هستند! انتقال نرم و زیبا بین رنگ‌های مختلف ایجاد می‌کنند. 🌈

انواع گرادیان
/* گرادیان خطی ساده */
.gradient1 {
    background: linear-gradient(to right, red, blue);
}

/* گرادیان با زاویه */
.gradient2 {
    background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1);
}

/* گرادیان شعاعی */
.gradient3 {
    background: radial-gradient(circle, #ff9a9e, #fecfef, #fecfef);
}

/* گرادیان با نقاط توقف */
.gradient4 {
    background: linear-gradient(90deg, 
        red 0%, 
        orange 25%, 
        yellow 50%, 
        green 75%, 
        blue 100%);
}

/* گرادیان شعاعی بیضوی */
.gradient5 {
    background: radial-gradient(ellipse at center, 
        #667eea 0%, 
        #764ba2 100%);
}

نمایش در مرورگر:

گرادیان خطی ساده
گرادیان با زاویه ۴۵ درجه
گرادیان شعاعی دایره‌ای
گرادیان رنگین کمان
گرادیان شعاعی بیضوی

تمرین عملی

حالا وقت تمرین است! یک کارت رنگارنگ بسازید:

🎨 تمرین:

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

  • • یک div با پس‌زمینه گرادیان آبی تا بنفش
  • • عنوان با رنگ سفید
  • • یک div با پس‌زمینه رنگ ثابت (مثل قرمز روشن)
  • • متن با رنگ‌های مختلف (RGB و RGBA)
  • • یک div با پس‌زمینه گرادیان شعاعی
  • • استفاده از حداقل ۳ روش مختلف تعریف رنگ

جواب تمرین

این یکی از راه‌های حل این تمرین است:

colorful-card.html
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>کارت رنگارنگ</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="gradient-header">
        <h1>کارت رنگارنگ من</h1>
    </div>
    
    <div class="solid-section">
        <h2>بخش رنگ ثابت</h2>
        <p class="rgb-text">این متن با RGB نوشته شده</p>
        <p class="rgba-text">این متن با RGBA شفاف است</p>
    </div>
    
    <div class="radial-section">
        <h2>گرادیان شعاعی</h2>
        <p>این بخش پس‌زمینه شعاعی دارد</p>
    </div>
</body>
</html>
styles.css
/* گرادیان خطی برای هدر */
.gradient-header {
    background: linear-gradient(45deg, blue, purple);
    padding: 30px;
    text-align: center;
    border-radius: 10px;
    margin-bottom: 20px;
}

.gradient-header h1 {
    color: white;
    margin: 0;
    font-size: 2em;
}

/* بخش رنگ ثابت */
.solid-section {
    background-color: lightcoral;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.solid-section h2 {
    color: #ffffff;  /* هگزادسیمال */
    margin-top: 0;
}

.rgb-text {
    color: rgb(0, 100, 200);  /* RGB */
    font-weight: bold;
}

.rgba-text {
    color: rgba(255, 0, 0, 0.7);  /* RGBA */
    font-style: italic;
}

/* گرادیان شعاعی */
.radial-section {
    background: radial-gradient(circle, orange, yellow, lightgreen);
    padding: 25px;
    border-radius: 15px;
    text-align: center;
}

.radial-section h2 {
    color: darkgreen;  /* نام رنگ */
    margin-top: 0;
}

.radial-section p {
    color: #333333;
    font-size: 1.1em;
}

نکته:

در این تمرین از ۴ روش مختلف تعریف رنگ استفاده شده: نام رنگ، هگزادسیمال، RGB و RGBA. همچنین گرادیان‌های خطی و شعاعی نیز به کار رفته‌اند.