ToolDeck

تولیدکننده گرادیان CSS

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

یک مثال امتحان کنید
نوع
زاویه135°

نقاط رنگ

0%
100%

خروجی CSS

background: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);

گرادیان CSS چیست؟

تولیدکننده گرادیان CSS ابزاری بصری است که به شما کمک می‌کند انتقال‌های رنگی روان را بدون نوشتن دستی سینتکس گرادیان بسازید. در CSS، گرادیان یک انتقال روان بین دو یا چند رنگ است که مستقیماً توسط مرورگر و بدون هیچ فایل تصویری رندر می‌شود. مشخصه CSS Image Module Level 4 توابع گرادیان را به عنوان نوعی مقدار تصویری تعریف می‌کند، یعنی می‌توانند در هر جایی که مقادیر background-image، list-style-image یا border-image پذیرفته می‌شوند، استفاده شوند. از آنجا که مرورگر گرادیان‌ها را در زمان رندر شطرنجی می‌کند، به هر رزولوشنی مقیاس می‌یابند و هرگز روی صفحه‌های high-DPI تاری ایجاد نمی‌کنند. استفاده از تولیدکننده گرادیان CSS در زمان صرفه‌جویی می‌کند و حدس و گمان را کاهش می‌دهد — رنگ‌ها و موقعیت‌ها را به‌صورت بصری تنظیم می‌کنید، سپس قانون نهایی CSS را کپی می‌کنید.

CSS از سه شکل اصلی گرادیان پشتیبانی می‌کند: linear (در امتداد یک خط مستقیم)، radial (از یک نقطه مرکزی به بیرون)، و conic (چرخش دور یک نقطه مرکزی). هر شکل فهرستی از نقاط رنگ می‌پذیرد که در آن رنگ و به‌صورت اختیاری موقعیت (درصد یا طول) را تعیین می‌کنید. مرورگر به‌طور پیش‌فرض با استفاده از فضای رنگی sRGB بین نقاط درون‌یابی می‌کند، هرچند CSS Color Level 4 اجازه می‌دهد فضاهای رنگی دیگری مانند oklch و lab برای انتقال‌های از نظر ادراکی روان‌تر تعیین شوند.

گرادیان‌ها پس‌زمینه‌های مبتنی بر تصویر را برای اکثر اهداف تزئینی در وب جایگزین کرده‌اند. یک قانون CSS تنها چیزی تولید می‌کند که زمانی نیازمند خروجی Photoshop و یک درخواست HTTP بود. آن‌ها مستقل از رزولوشن هستند، هیچ پهنای باند شبکه‌ای فراتر از خود CSS نیاز ندارند و می‌توانند با ویژگی‌های استاندارد CSS متحرک شوند یا انتقال یابند. سینتکس گرادیان از سال ۲۰۱۳ در تمام مرورگرهای اصلی پایدار بوده و فرم بدون پیشوند در Chrome، Firefox، Safari و Edge بدون نیاز به fallback کار می‌کند.

چرا از این تولیدکننده گرادیان CSS استفاده کنیم؟

نوشتن دستی سینتکس گرادیان یعنی حدس زدن موقعیت نقاط، بررسی مقادیر زاویه و بارگذاری مکرر صفحه برای مشاهده نتیجه. یک سازنده بصری به شما اجازه می‌دهد گرادیان را در حین ساختن ببینید، نقاط را با کشیدن تنظیم کنید و پس از درست به نظر رسیدن، CSS نهایی را کپی کنید.

پیش‌نمایش بصری زنده
گرادیان را در زمان واقعی با تغییر رنگ‌ها، موقعیت‌ها و زاویه‌ها به‌روز ببینید. نیازی به جابجایی بین ویرایشگر و مرورگر نیست.
🔒
پردازش کاملاً محلی
تمام رندرینگ در مرورگر شما انجام می‌شود. هیچ داده رنگی یا پیکربندی گرادیانی به هیچ سروری ارسال نمی‌شود.
🎨
انواع مختلف گرادیان
گرادیان‌های linear و radial را با کنترل کامل بر جهت، زاویه و موقعیت نقاط رنگ بسازید. CSS را با یک کلیک کپی کنید.
📋
بدون نیاز به حساب کاربری
صفحه را باز کنید و شروع به ساختن کنید. بدون ثبت‌نام، بدون دروازه ایمیل، بدون محدودیت نرخ. پس از بارگذاری به‌صورت آفلاین کار می‌کند.

موارد استفاده از تولیدکننده گرادیان CSS

توسعه Frontend
پس‌زمینه‌های بخش hero، روکش‌های کارت و حالت‌های hover دکمه را بسازید. گرادیان را در ابعاد هدف پیش‌نمایش کنید، سپس CSS را مستقیماً در stylesheet یا تنظیمات Tailwind خود قرار دهید.
طراحی قالب ایمیل
برخی کلاینت‌های ایمیل از گرادیان‌های CSS در استایل‌های inline پشتیبانی می‌کنند. کد گرادیان دقیق را تولید کنید و آن را روی المان اعمال کنید، همراه با یک رنگ جامد fallback برای کلاینت‌هایی که گرادیان‌ها را رندر نمی‌کنند.
نمونه‌سازی طراحی
هنگام تکرار بر روی طرح‌های رنگی در مرورگر به جای Figma، پس‌زمینه‌های گرادیان را سریع تولید کنید. چندین گزینه را در کنار هم مقایسه کنید بدون اینکه asset صادر کنید.
استایل‌دهی داشبورد DevOps
داشبوردهای وضعیت و رابط‌های کاربری مانیتورینگ از گرادیان‌های رنگی برای نمایش محدوده‌های شدت (سبز تا قرمز) یا تراکم داده استفاده می‌کنند. مقادیر گرادیان را تولید کنید و آن‌ها را روی پس‌زمینه نمودارها یا نوارهای وضعیت اعمال کنید.
تصویرسازی داده
کتابخانه‌های نمودار مانند D3.js و Recharts تعاریف گرادیان CSS را برای پرکردن ناحیه و heatmapها می‌پذیرند. گرادیان را به‌صورت بصری بسازید، سپس رنگ‌های نقاط را برای تابع مقیاس خود استخراج کنید.
یادگیری CSS
دانشجویانی که CSS مطالعه می‌کنند می‌توانند با سینتکس گرادیان آزمایش کنند، ببینند چگونه تغییر زاویه بر جهت تأثیر می‌گذارد و موقعیت‌یابی نقاط رنگ را درک کنند. CSS تولیدشده یک مرجع کاری است.

مرجع انواع گرادیان CSS

CSS پنج تابع گرادیان تعریف می‌کند. سه نوع اصلی (linear، radial، conic) هر کدام یک نوع تکراری دارند که الگو را کاشی می‌کنند. repeating-linear-gradient() و repeating-radial-gradient() برای پس‌زمینه‌های راه‌راه و حلقه‌های متحدالمرکز مفید هستند. تمام توابع گرادیان نقاط رنگ را در هر قالب رنگ CSS می‌پذیرند: HEX، RGB، HSL، رنگ‌های نام‌دار، یا oklch. پشتیبانی مرورگر از هر پنج تابع در Chrome، Firefox، Safari و Edge عملاً جهانی است — هیچ پیشوند vendor لازم نیست.

تابعسینتکس نمونهجهتکاربرد رایج
linear-gradient()to right, #f00, #00fStraight lineBackgrounds, hero sections, progress bars
radial-gradient()circle, #f00, #00fOutward from centerSpotlight effects, buttons, badges
conic-gradient()from 0deg, #f00, #00fSweep around centerPie charts, color wheels, spinners
repeating-linearto right, #f00 0 10px, #00f 10px 20pxTiled lineStripes, progress indicators, decorative borders
repeating-radialcircle, #f00 0 10px, #00f 10px 20pxTiled circleConcentric ring patterns, retro textures

مقایسه گرادیان‌های Linear، Radial و Conic

هر نوع گرادیان رنگ‌ها را به شکل متفاوتی روی فضا پخش می‌کند. انتخاب نوع مناسب به جلوه بصری مورد نیاز شما بستگی دارد، نه به تفاوت کیفیت بین آن‌ها. برای اکثر پس‌زمینه‌های صفحه و جداکننده‌های بخش، گرادیان linear پیش‌فرض صحیح است — ساده‌ترین برای درک و پیش‌بینی‌پذیرترین در عناصر با اندازه‌های متفاوت است. گرادیان‌های radial و conic بهتر است برای جلوه‌های بصری خاص که هندسه دایره‌ای یا چرخشی معنادار است نه تزئینی رزرو شوند.

linear-gradient()
رنگ‌ها در امتداد یک خط مستقیم که با زاویه‌ای (0deg = پایین به بالا، 90deg = چپ به راست) یا کلیدواژه‌ای مانند 'to right' تعریف شده انتقال می‌یابند. رایج‌ترین نوع، برای پس‌زمینه‌ها، روکش‌ها و نشانگرهای پیشرفت استفاده می‌شود. از چندین نقطه رنگ در موقعیت‌های دلخواه پشتیبانی می‌کند.
radial-gradient()
رنگ‌ها از یک نقطه مرکزی در یک دایره یا بیضی به بیرون تابش می‌کنند. شکل، اندازه و موقعیت مرکز را با سینتکس کنترل کنید. برای جلوه‌های نورافکن، vignette و عناصر رابط کاربری دایره‌ای مانند badge یا حلقه‌های avatar مفید است.
conic-gradient()
رنگ‌ها دور یک نقطه مرکزی مانند عقربه‌های ساعت می‌چرخند. زاویه شروع با 'from Xdeg' قابل تنظیم است. برای بخش‌های نمودار دایره‌ای، چرخ‌های رنگ و نشانگرهای بارگذاری چرخشی مفید است. حداقل دو نقطه نیاز دارد؛ تکرار رنگ اول در انتها یک حلقه بدون درز ایجاد می‌کند.

نمونه‌های کد

نمونه‌هایی از تولید و اعمال گرادیان‌های CSS به‌صورت برنامه‌نویسی در JavaScript، Python، CSS و Go. هر کدام رشته‌های گرادیان CSS معتبری تولید می‌کنند که می‌توانید مستقیماً در stylesheet‌ها یا استایل‌های inline استفاده کنید.

JavaScript
// Generate a CSS linear-gradient string from an array of stops
function buildGradient(angle, stops) {
  const parts = stops.map(s => `${s.color} ${s.position}%`)
  return `linear-gradient(${angle}deg, ${parts.join(', ')})`
}

const stops = [
  { color: '#6366f1', position: 0 },
  { color: '#ec4899', position: 50 },
  { color: '#f59e0b', position: 100 },
]
buildGradient(90, stops)
// -> "linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

// Apply to an element
document.querySelector('.hero').style.background = buildGradient(135, stops)
Python
# Generate a CSS gradient string for use in templates or SVGs
def build_gradient(angle: int, stops: list[tuple[str, int]]) -> str:
    parts = [f"{color} {pos}%" for color, pos in stops]
    return f"linear-gradient({angle}deg, {', '.join(parts)})"

stops = [("#6366f1", 0), ("#ec4899", 50), ("#f59e0b", 100)]
print(build_gradient(135, stops))
# -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

# Interpolate N colors between two endpoints
def interpolate_hex(c1: str, c2: str, steps: int) -> list[str]:
    r1, g1, b1 = int(c1[1:3], 16), int(c1[3:5], 16), int(c1[5:7], 16)
    r2, g2, b2 = int(c2[1:3], 16), int(c2[3:5], 16), int(c2[5:7], 16)
    return [
        f"#{int(r1+(r2-r1)*i/(steps-1)):02x}"
        f"{int(g1+(g2-g1)*i/(steps-1)):02x}"
        f"{int(b1+(b2-b1)*i/(steps-1)):02x}"
        for i in range(steps)
    ]

interpolate_hex("#6366f1", "#f59e0b", 4)
# -> ['#6366f1', '#9a7399', '#d18042', '#f59e0b']
CSS
/* Linear gradient — left to right */
.hero {
  background: linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%);
}

/* Radial gradient — circular spotlight */
.badge {
  background: radial-gradient(circle at 30% 30%, #6366f1, #312e81);
}

/* Conic gradient — color wheel */
.wheel {
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6, #ef4444);
  border-radius: 50%;
}

/* Multi-stop with transparency */
.overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

/* Repeating stripes */
.stripes {
  background: repeating-linear-gradient(
    45deg,
    #6366f1 0 10px,
    transparent 10px 20px
  );
}
Go
package main

import "fmt"

// Stop represents one color stop in a gradient.
type Stop struct {
	Color    string
	Position int // percent 0-100
}

func buildGradient(angle int, stops []Stop) string {
	result := fmt.Sprintf("linear-gradient(%ddeg", angle)
	for _, s := range stops {
		result += fmt.Sprintf(", %s %d%%", s.Color, s.Position)
	}
	return result + ")"
}

func main() {
	stops := []Stop{
		{"#6366f1", 0},
		{"#ec4899", 50},
		{"#f59e0b", 100},
	}
	fmt.Println(buildGradient(135, stops))
	// -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"
}

سؤالات متداول

تفاوت بین linear-gradient و radial-gradient چیست؟
linear-gradient() رنگ‌ها را در امتداد یک خط مستقیم در زاویه‌ای مشخص انتقال می‌دهد، در حالی که radial-gradient() رنگ‌ها را از یک نقطه مرکزی در یک دایره یا بیضی به بیرون انتقال می‌دهد. گرادیان‌های linear انتخاب استاندارد برای پس‌زمینه‌های صفحه و روکش‌ها هستند. گرادیان‌های radial برای جلوه‌های نورافکن و عناصر رابط کاربری دایره‌ای بهتر عمل می‌کنند.
چگونه جهت یک گرادیان linear را تنظیم کنم؟
از زاویه‌ای بر حسب درجه (مثلاً 90deg برای چپ به راست، 180deg برای بالا به پایین) یا کلیدواژه‌ای (to right، to bottom left) استفاده کنید. زاویه از پایین در جهت عقربه‌های ساعت می‌چرخد: 0deg به بالا اشاره می‌کند، 90deg به راست اشاره می‌کند. همچنین می‌توانید از 'to top right' برای هدف قرار دادن یک گوشه استفاده کنید و مرورگر زاویه دقیق را بر اساس نسبت ابعاد المان محاسبه می‌کند.
آیا می‌توان یک گرادیان CSS را متحرک کرد؟
مرورگرها نمی‌توانند مستقیماً بین دو مقدار گرادیان با انتقال‌های CSS درون‌یابی کنند. راه‌حل‌های رایج عبارتند از: متحرک کردن background-position یک گرادیان بزرگ‌تر از حد معمول، استفاده از @property برای متحرک کردن مقادیر نقاط رنگ منفرد به عنوان ویژگی‌های سفارشی، یا cross-fade با opacity روی یک pseudo-element. رویکرد @property (پشتیبانی‌شده در Chrome و Edge از سال ۲۰۲۰، Firefox از سال ۲۰۲۴) تمیزترین راه‌حل است.
یک گرادیان می‌تواند چند نقطه رنگ داشته باشد؟
مشخصه CSS حداکثری تعیین نمی‌کند. مرورگرها گرادیان‌هایی با ده‌ها نقطه را بدون مشکلات عملکردی مدیریت می‌کنند. در عمل، اکثر گرادیان‌ها از ۲ تا ۵ نقطه استفاده می‌کنند. هر نقطه می‌تواند رنگ و موقعیت اختیاری را به عنوان درصد یا مقدار طول مشخص کند. همچنین می‌توانید دو موقعیت برای هر نقطه تعریف کنید تا یک باند رنگ سخت بدون انتقال ایجاد کنید.
تفاوت بین گرادیان و تصویر چیست؟
در CSS، گرادیان یک تصویر محاسبه‌شده است. همان مسیر رندرینگ تصاویر url() را به اشتراک می‌گذارد و می‌تواند در هر جایی که مقدار تصویر معتبر است استفاده شود: background-image، list-style-image، border-image و mask-image. تفاوت این است که یک گرادیان توسط مرورگر در زمان رندر تولید می‌شود، به هر اندازه‌ای بدون افت کیفیت مقیاس می‌یابد و هیچ بایتی به وزن صفحه شما اضافه نمی‌کند زیرا هیچ فایلی دانلود نمی‌شود.
چگونه یک گرادیان با نقطه رنگ سخت (بدون انتقال) ایجاد کنم؟
دو نقطه رنگ را در همان موقعیت قرار دهید. برای مثال، linear-gradient(to right, #6366f1 50%, #ec4899 50%) یک تقسیم تیز بدون ترکیب بین رنگ‌ها ایجاد می‌کند. همچنین می‌توانید از سینتکس دو موقعیتی استفاده کنید: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) تا هر باند را به‌صورت صریح تعریف کنید.
آیا تابع conic-gradient در تمام مرورگرها پشتیبانی می‌شود؟
conic-gradient() در Chrome 69+، Firefox 83+، Safari 12.1+ و Edge 79+ پشتیبانی می‌شود. تا سال ۲۰۲۴، پشتیبانی جهانی مرورگر بر اساس داده‌های Can I Use از ۹۵٪ فراتر می‌رود. هیچ پیشوند vendor لازم نیست. برای درصد کمی از کاربران روی مرورگرهای قدیمی‌تر، یک background-color جامد به عنوان fallback قبل از تعریف گرادیان تنظیم کنید.