کتابخانه‌ی استاندارد · گرافیک و بازی

سی اس اس gui.css

موتور سبک رابط بومی سلام: گزینشگرها، آبشار، ارث‌بری، پرسش‌های رسانه، کوتاه‌نویسی‌ها، var() و مقدارهای محاسبه‌شده‌ای که با کرومیوم یکسان‌اند.

واردسازی رابط گرافیکی.سی اس اس

نام آرگومان‌ها شناسه‌ی خود کد است و معادل فارسی ندارد؛ گونه‌ها، کلیدواژه‌ها و نام بسته‌ها با معادل فارسی نوشته می‌شوند.

این بسته موتور سبک رابط بومی است. برای هر عنصر صفحه همان چیزی را می‌گیرد که امروز سازنده‌ی وب برایش می‌نویسد (اعلان‌های خودش، اعلان‌های اشاره، تمرکز و فشردن، کلید عنصر، کلاس‌ها و شناسه) همراه با قاعده‌های global و media صفحه، و مقدار نهایی هر ویژگی را درست مانند مرورگر محاسبه می‌کند. پنجره‌ی بومی در نتیجه همانند صفحه‌ی وب دیده می‌شود.

یک برگه‌سبک با برگه‌ی سبک پیش‌فرض مرورگر آغاز می‌شود، همان پیش‌فرض‌هایی که به سرعنوان اندازه و به بند حاشیه می‌دهند؛ این برگه از روی برگه‌ی کرومیوم نوشته و ویژگی به ویژگی با کرومیوم سنجیده شده است. قاعده‌ها را با افزودن قاعده، افزودن قاعده رسانه یا یک برگه‌ی کامل با افزودن سی اس اس می‌افزایید، عنصرها را به صورت وکتوری از عنصر به ترتیب سند توصیف می‌کنید و محاسبه سبک ها را صدا می‌زنید. سپس سبک عنصر به هر عنصر یک سبک‌محاسبه‌شده می‌دهد: درازاها به پیکسل (درصدها تا چینش نسبی می‌مانند)، رنگ‌ها به صورت RGBA ساده، کلیدواژه‌ها به صورت شمارشی و فهرست‌هایی برای پس‌زمینه، سایه، تبدیل و گذار. به جعبه آن را به سبک چینش جعبه سی اس اس تبدیل می‌کند.

پشتیبانی‌شده: گزینشگرهای نوع، کلاس، شناسه و ویژگی، ترکیب‌کننده‌های نسل، فرزند و هم‌نیا، :hover، :focus، :focus-visible، :active، شبه‌کلاس‌های جایگاه فرزند و نوع، :not()، :is() و :where()؛ ویژگی‌مندی و !important؛ ارث‌بری با inherit، initial و unset؛ پرسش رسانه برای اندازه، جهت، طرح رنگ، حرکت کمتر، شناوری و اشاره‌گر؛ همه‌ی یکاهای درازا، calc()، min()، max() و clamp()؛ رنگ در همه‌ی نحوهای رایج؛ گرادیان، سایه، تبدیل، گذار، قلم، ویژگی‌های منطقی برای صفحه‌های راست به چپ و var() با مقدار جایگزین. ویژگی‌های شبکه و جدول خوانده، آبشاری و سنجیده می‌شوند: فهرست ردیف‌ها، ناحیه‌ها، جای‌دهی‌ها و کوتاه‌نویسی‌هایشان (grid، grid-template، grid-area، grid-row، grid-column)، border-collapse، border-spacing، table-layout و caption-side؛ به جعبه آن‌ها را به موتور چینش می‌دهد. شبه‌عنصرها، زیرشبکه، پویانمایی و پرسش نگهدارنده هنوز پشتیبانی نمی‌شوند.

نکته‌ها

  • اعلان‌های خود عنصر مانند یک قاعده‌ی کلاس پس از قاعده‌های سراسری رفتار می‌کنند، همان چیزی که سازنده‌ی وب می‌نویسد. اعلان‌های اشاره، تمرکز و فشردن مانند همان کلاس با آن شبه‌کلاس‌اند.
  • عنصرها باید به ترتیب سند و هر یک پس از والدش بیایند. خود صفحه والد -1 دارد و ریشه‌ی ضمنی html بالای آن با :root جور است.
  • عنصرهایی با ورودی یکسان یک سبک مشترک دارند و هر رشته‌ی اعلان یکتا فقط یک بار تجزیه می‌شود.
  • پس از حرکت اشاره‌گر زنجیره اشاره را صدا بزنید و نتیجه‌اش را به سبک دهی دوباره بدهید: فقط عنصرهایی که حالتشان عوض شده و در صورت تغییر مقدارهای ارثی فرزندانشان دوباره محاسبه می‌شوند.
  • رشته‌هایی که تابع‌های متنی برمی‌گردانند مال فراخواننده‌اند و وکتورهای درون سبک‌محاسبه‌شده مال برگه‌اند.
  • border-image و ویژگی‌های جزئی آن، راهنمای رنگ در گرادیان و جای ایستگاه با calc() پشتیبانی می‌شوند. ایستگاه‌های گرادیان هنگام کشیدن با ایستگاه های شیب حل می‌شوند که راهنماها و بخش‌های غیر sRGB را مانند Chromium در فضای رنگ میان‌یابی گسترش می‌دهد. گذار رنگ میان رنگ‌های غیرقدیمی در Oklab آمیخته می‌شود.
  • مقدارها با شناسه‌ی کلیدواژه اعمال می‌شوند نه با مقایسه‌ی رشته، و آبشار ساختارهای بزرگش را با ارجاع می‌دهد: محاسبه‌ی همه‌ی سبک‌های صفحه‌ای ۲۰۲ عنصری به شکل tools/bench/gui_ui.salam از حدود ۲۸۲ میکروثانیه به حدود ۱۱۳ میکروثانیه رسید (کمینه‌ی ۵۰۰ اجرا، یک هسته، پشتیبان C).

سبک دادن به یک صفحه

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

gui-css-guide-page.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی رابط گرافیکی.جعبه سی اس اس

تابع add(els &: وکتور<سی اس اس.عنصر>، kind: رشته، parent: صحیح، classes: رشته، base: رشته): صحیح:
    ناپایا e := سی اس اس.عنصر تازه(kind، parent)
    e.کلاس های عنصر = classes
    e.اعلان های پایه = base
    els.بیفزا(e)
    برگشت els.طول() - 1
پایان

تابع ریشه:
    ناپایا sheet := سی اس اس.برگه تازه()
    دیرکن sheet.آزادسازی برگه()
    _g := sheet.افزودن قاعده("*"، "box-sizing: border-box")
    _c := sheet.افزودن قاعده(".card h2"، "margin: 0 0 8px")
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    body := add(els، "page"، -1، ""، "font-family: Vazirmatn, sans-serif; background: #f8fafc")
    card := add(els، "box"، body، "card"، "padding: 1em; border: 1px solid #e2e8f0; border-radius: 12px; max-width: 30rem")
    title := add(els، "h2"، card، ""، "color: #0f172a")
    text := add(els، "paragraph"، card، ""، "line-height: 1.5")
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 800.0، بلندی پنجره = 600.0 })
    هر i در [body، card، title، text]:
        cs := sheet.سبک عنصر(i)
        سرچاپ els[i].برچسب عنصر، سی اس اس.متن مقدار(cs، "display")، سی اس اس.متن مقدار(cs، "font-size")، سی اس اس.متن مقدار(cs، "margin-top")، سی اس اس.متن مقدار(cs، "padding-top")، سی اس اس.متن مقدار(cs، "color")
    پایان
    ناپایا tree := جعبه سی اس اس.درخت {}
    دیرکن tree.آزاد کردن()
    ناپایا ids := وکتور {} برگردان وکتور<صحیح>
    دیرکن ids.آزادکن()
    تکرار els.طول() در i:
        ids.بیفزا(tree.افزودن گره(سی اس اس.به جعبه(sheet.سبک عنصر(i))))
        اگر els[i].والد عنصر بزرگتربرابر 0:
            tree.افزودن فرزند(ids[els[i].والد عنصر]، ids[i])
        پایان
    پایان
    tree.محاسبه(ids[0]، جعبه سی اس اس.معین(800.0)، جعبه سی اس اس.معین(600.0))
    l := tree.جانمایی گره(ids[card])
    سرچاپ "card box"، l.ایکس، l.ایگرگ، l.پهنای جعبه، l.بلندی جعبه
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
پایان
خروجیbody block 16px 8px 0px rgb(0, 0, 0) div block 16px 0px 16px rgb(0, 0, 0) h2 block 24px 0px 0px rgb(15, 23, 42) p block 16px 16px 0px rgb(0, 0, 0) card box 0 0 480 50

اشاره، فشردن و رسانه

پس‌زمینه‌ی اشاره‌ی دکمه وقتی اشاره‌گر روی آن است اعمال می‌شود و فقط عنصرهای مسیر اشاره دوباره محاسبه می‌شوند. یک شرط media ناوبری را در پنجره‌ی باریک ستونی می‌کند. محاسبه‌ی سبک ۵۰۰۰ عنصر با ۱۱ سبک یکتا روی یک هسته‌ی رایانه‌ی رومیزی حدود ۱۰ میلی‌ثانیه طول می‌کشد و یک تغییر اشاره چهار عنصر را در حدود ۰٫۱ میلی‌ثانیه دوباره سبک می‌دهد. با ۵۰۰۰ سبک متفاوت بار نخست حدود ۱۰۰ و پس از تجزیه‌ی اعلان‌ها حدود ۵۰ میلی‌ثانیه طول می‌کشد.

gui-css-guide-states.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس

تابع ریشه:
    ناپایا sheet := سی اس اس.برگه تازه()
    دیرکن sheet.آزادسازی برگه()
    _r := sheet.افزودن قاعده("nav a:hover"، "text-decoration: none")
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا nav := سی اس اس.عنصر تازه("nav"، 0)
    nav.اعلان های پایه = "display: flex; gap: 8px; padding: 16px"
    nav.افزودن رسانه("(max-width: 600px)"، "flex-direction: column; padding: 8px")
    els.بیفزا(nav)
    ناپایا button := سی اس اس.عنصر تازه("button"، 1)
    button.اعلان های پایه = "background: #2563eb; color: white; border: none; transition: background 200ms ease-in-out"
    button.اعلان های اشاره = "background: #1d4ed8"
    button.اعلان های فشردن = "transform: scale(0.98)"
    els.بیفزا(button)
    ناپایا link := سی اس اس.عنصر تازه("link"، 1)
    link.افزودن ویژگی("href"، "/help")
    els.بیفزا(link)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 900.0، بلندی پنجره = 700.0 })
    سرچاپ "wide"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "flex-direction")، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "padding-top")
    سرچاپ "button"، سی اس اس.متن مقدار(sheet.سبک عنصر(2)، "background-color")، سی اس اس.متن مقدار(sheet.سبک عنصر(2)، "transition-duration")
    top := سی اس اس.زنجیره اشاره(els، 2)
    سرچاپ "hover touches"، sheet.سبک دهی دوباره(els، top)، "elements:"، سی اس اس.متن مقدار(sheet.سبک عنصر(2)، "background-color")
    ناپایا b := els.ارجاع(2)
    b.فشرده = درست
    _p := sheet.سبک دهی دوباره(els، 2)
    سرچاپ "pressed"، سی اس اس.متن مقدار(sheet.سبک عنصر(2)، "transform")
    top2 := سی اس اس.زنجیره اشاره(els، 3)
    _q := sheet.سبک دهی دوباره(els، top2)
    سرچاپ "link"، سی اس اس.متن مقدار(sheet.سبک عنصر(3)، "text-decoration-line")، سی اس اس.متن مقدار(sheet.سبک عنصر(3)، "cursor")
    _m := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 500.0، بلندی پنجره = 700.0، حالت تیره = درست })
    سرچاپ "narrow"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "flex-direction")، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "padding-top")
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
پایان
خروجیwide row 16px button rgb(37, 99, 235) 0.2s hover touches 3 elements: rgb(29, 78, 216) pressed matrix(0.98, 0, 0, 0.98, 0, 0) link none pointer narrow column 8px

برنامه‌های سبک ترجمه‌شده

صفحه‌ای که با --ui=native ساخته می‌شود هنگام اجرا هیچ سی‌اس‌اسی را تجزیه نمی‌کند. مترجم هنگام ترجمه یک برنامه‌سبک را با ترجمه اعلان ها (یک شناسه برای هر فهرست اعلان یکتا)، ترجمه قاعده و ترجمه سی اس اس پر می‌کند: کوتاه‌نویسی‌ها باز می‌شوند، مقدارها به نشانه بدل و بررسی می‌شوند، گزینشگرها و شرط‌های رسانه ترجمه می‌شوند و هر چیز نادرست با شمار خطاهای برنامه گزارش می‌شود. سپس متن برنامه سبک یک تابع سلام می‌نویسد که همان برنامه را از مقدارهای ثابت، با یک فراخوانی برای هر اعلان، دوباره می‌سازد و برنامه با برگه از برنامه آن را برگه می‌کند. عنصرها با شناسه اعلان پایه، شناسه اعلان اشاره، شناسه اعلان تمرکز و شناسه اعلان فشردن به فهرست‌های اعلان اشاره می‌کنند، پس محاسبه‌ی سبک‌ها هرگز به متن سی‌اس‌اس نمی‌رسد. فقط مقداری که در زمان اجرا ساخته می‌شود از اعلان زمان اجرا می‌گذرد که آن یک مقدار را یک بار تجزیه و نگه می‌دارد. برگه‌ی پیش‌فرض مرورگر هم خودش یک برنامه‌ی ساخته‌شده است، پس برگه تازه هم دیگر سی‌اس‌اس تجزیه نمی‌کند.

gui-css-guide-program.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع styles(): سی اس اس.برنامه‌سبک:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    p.افزودن گزینشگر ساده(3، "card"، ""، 0، 0، 0، نادرست)
    p.افزودن گزینشگر مرکب(0، 1، 0)
    p.افزودن گزینشگر کامل(0، 1، 1000، نادرست، نادرست)
    p.افزودن پرسش رسانه(-1، [سی اس اس.آغاز کارکرد("")، سی اس اس.کلیدواژه("max-width")، سی اس اس.جداکننده(58، نادرست)، سی اس اس.کمیت با واحد(600.0، "px")، سی اس اس.بستن پرانتز()])
    p.افزودن اعلان("padding-top"، نادرست، [سی اس اس.کمیت با واحد(12.0، "px")])
    p.افزودن اعلان("color"، درست، [سی اس اس.نشان هش("334155")])
    p.افزودن اعلان("font-family"، نادرست، [سی اس اس.کلیدواژه با متن("vazirmatn"، "Vazirmatn")، سی اس اس.ویرگول()، سی اس اس.کلیدواژه("sans-serif")])
    p.افزودن اعلان("line-height"، نادرست، [سی اس اس.عدد(1.5)])
    p.افزودن اعلان("order"، نادرست، [سی اس اس.عدد گرد(2.0)])
    p.افزودن اعلان("width"، نادرست، [سی اس اس.درصد(50.0)])
    p.افزودن اعلان("background-image"، نادرست، [سی اس اس.نشانی منبع("bg.png")])
    p.افزودن اعلان متنی("--label"، "\"hi\""، نادرست)
    p.بستن فهرست اعلان(8)
    p.افزودن اعلان("margin-top"، نادرست، [سی اس اس.متن نقل شده("x")])
    p.بستن فهرست اعلان(1)
    p.افزودن قاعده برنامه(0، 0، 0)
    برگشت p
پایان

تابع ریشه:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    card := سی اس اس.ترجمه اعلان ها(p، "padding: 16px; border-radius: 8px")
    سرچاپ "list"، card، "same text"، سی اس اس.ترجمه اعلان ها(p، "padding: 16px; border-radius: 8px")، "empty"، سی اس اس.ترجمه اعلان ها(p، "")
    سرچاپ "rule"، سی اس اس.ترجمه قاعده(p، ".card:hover"، "background: #eef"، "")، سی اس اس.ترجمه قاعده(p، ".card"، "padding: 8px"، "(max-width: 600px)")
    سرچاپ "css rules"، سی اس اس.ترجمه سی اس اس(p، "h1 { margin: 0 } @media (prefers-color-scheme: dark) { body { color: #eee } }")
    _bad := سی اس اس.ترجمه اعلان ها(p، "colr: red")
    سرچاپ "errors"، سی اس اس.شمار خطاهای برنامه(p)
    e := سی اس اس.خطای برنامه(p، 0)
    سرچاپ e
    حافظه.آزادسازی(e برگردان تهی*)
    src := سی اس اس.متن برنامه سبک(p، "page_styles"، "css")
    سرچاپ src.شروع با("func page_styles(): css.Program:")
    حافظه.آزادسازی(src برگردان تهی*)
    wide := سی اس اس.اعلان زمان اجرا(p، "width"، "240px")
    ناپایا sheet := سی اس اس.برگه از برنامه(p)
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا box := سی اس اس.عنصر تازه("box"، 0)
    box.کلاس های عنصر = "card"
    box.شناسه اعلان پایه = card
    box.شناسه اعلان اشاره = -1
    box.شناسه اعلان تمرکز = -1
    box.شناسه اعلان فشردن = -1
    box.شناسه های اعلان زمان اجرا.بیفزا(wide)
    els.بیفزا(box)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 500.0 })
    cs := sheet.سبک عنصر(1)
    سرچاپ "padding"، سی اس اس.متن درازا(cs.فاصله داخلی بالا)، "width"، سی اس اس.متن درازا(cs.پهنا)
    سرچاپ "added again"، sheet.افزودن برنامه(p)
    ناپایا q := styles()
    piece := سی اس اس.کلیدواژه("auto")
    سرچاپ "piece"، piece.گونه تکه، piece.متن تکه، piece.متن خام تکه، piece.عدد تکه، piece.کد تکه، piece.فاصله پیش از تکه، "program"، q.شناسه برنامه بزرگتربرابر 0
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
    sheet.آزادسازی برگه()
    q.آزادسازی برنامه()
    p.آزادسازی برنامه()
پایان
خروجیlist 0 same text 0 empty -1 rule true true css rules 2 errors 1 unknown property 'colr' true padding 16px width 240px added again 0 piece 1 auto 0 0 false program true

مقدارهای نوع‌دار و رنگ‌ها

برنامه‌ای که متن برنامه سبک می‌نویسد مقدارهایی دارد که هنگام ترجمه تعیین شده‌اند. هر اعلان یک افزودن اعلان نوع دار با شناسه‌ی عددی ویژگی از شناسه ویژگی سبک است؛ کلیدواژه‌ها، واحدها و نام تابع‌ها جایی در یک جدول نام‌اند (شناسه کلیدواژه)؛ درازاها عدد و واحدشان را نگه می‌دارند و واحدهای مطلق از پیش به پیکسل و زاویه‌ها به درجه برگردانده شده‌اند؛ calc()ی که چیزی از صفحه نمی‌خواهد به یک مقدار ساده می‌شود؛ و هر رنگی که به currentColor وابسته نباشد برای طرح روشن و تیره به RGBA مستقیم حل می‌شود. بارگذاری چنین برنامه‌ای نه رشته‌ای را مقایسه می‌کند و نه چیزی را تجزیه.

رنگ‌ها از CSS Color 4 و 5 پیروی می‌کنند: هش، ۱۴۸ رنگ نام‌دار، transparent، currentColor، rgb()، hsl() و hwb() با نحو تازه و نحو ویرگولی، lab()، lch()، oklab()، oklch()، color() در srgb، srgb-linear، display-p3، a98-rgb، prophoto-rgb، rec2020، xyz، xyz-d50 و xyz-d65، color-mix() در هر یک از این فضاها با چهار روش میان‌یابی فام، رنگ‌های نسبی مانند rgb(from red r g calc(b * 2))، light-dark() و رنگ‌های سامانه با مقدارهای Chromium برای هر طرح. هر رنگ درون sRGB با Chromium یکی است؛ رنگ‌های بیرون از آن با الگوریتم CSS Color 4 به گستره نگاشته می‌شوند، جایی که Chromium آن‌ها را می‌بُرد. گرادیان‌ها در فضایی که با in داده شود میان‌یابی می‌شوند، و وقتی یکی از ایستگاه‌ها نحو تازه‌تر داشته باشد در Oklab. وقتی سیستم عامل میان روشن و تیره جابه‌جا می‌شود، تنظیم طرح رنگ فقط عنصرهای وابسته به طرح را دوباره سبک می‌دهد.

gui-css-guide-typed.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع styles(): سی اس اس.برنامه‌سبک:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("display")، 0، [سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("flex"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("margin-top")، 0، [سی اس اس.کمیت با شناسه واحد(1.5، سی اس اس.شناسه کلیدواژه("em"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("width")، 0، [سی اس اس.کارکرد با شناسه(سی اس اس.شناسه کلیدواژه("calc"))، سی اس اس.درصد(100.0)، سی اس اس.جداکننده(45، درست)، سی اس اس.کمیت با شناسه واحد(20.0، سی اس اس.شناسه کلیدواژه("px"))، سی اس اس.بستن پرانتز()])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("color-scheme")، 2، [سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("light"))، سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("dark"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("color")، 2، [سی اس اس.رنگ حل شده(0x111111ff، 0xeeeeeeff، 1)])
    p.بستن فهرست اعلان(5)
    برگشت p
پایان

تابع ریشه:
    name := سی اس اس.نام ویژگی سبک(سی اس اس.شناسه ویژگی سبک("color"))
    kw := سی اس اس.نام کلیدواژه(سی اس اس.شناسه کلیدواژه("flex"))
    سرچاپ "ids"، سی اس اس.شناسه ویژگی سبک("color")، name، سی اس اس.شناسه کلیدواژه("flex")، kw
    حافظه.آزادسازی(name برگردان تهی*)
    حافظه.آزادسازی(kw برگردان تهی*)
    piece := سی اس اس.رنگ حل شده(0x3366aaff، 0x99bbffff، 1)
    سرچاپ "piece"، piece.شناسه نام تکه، piece.رنگ روشن تکه، piece.رنگ تیره تکه، سی اس اس.کلیدواژه با شناسه(5).شناسه نام تکه
    ناپایا c := سی اس اس.رنگ‌سی‌اس‌اس {}
    _ok := سی اس اس.تجزیه رنگ("oklch(0.7 0.1 30)"، c)
    سرچاپ "oklch"، c.قرمز، c.سبز، c.آبی
    mixed := سی اس اس.متن رنگ(سی اس اس.آمیختن رنگ ها(سی اس اس.رنگ‌سی‌اس‌اس { قرمز = 255 }، سی اس اس.رنگ‌سی‌اس‌اس { آبی = 255، آلفا = 0 }، 0.5))
    سرچاپ "mix"، mixed
    حافظه.آزادسازی(mixed برگردان تهی*)
    ناپایا p := styles()
    ناپایا sheet := سی اس اس.برگه از برنامه(p)
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا box := سی اس اس.عنصر تازه("box"، 0)
    box.شناسه اعلان پایه = 0
    els.بیفزا(box)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 400.0 })
    سرچاپ "light"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "color")، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "width")
    سرچاپ "restyled"، sheet.تنظیم طرح رنگ(els، درست)
    سرچاپ "dark"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "color")
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
    sheet.آزادسازی برگه()
    p.آزادسازی برنامه()
پایان
خروجیids 59 color 228 flex piece -1 862366463 2579234815 5 oklch 213 134 121 mix rgba(255, 0, 0, 0.5) light rgb(17, 17, 17) calc(100% - 20px) restyled 2 dark rgb(238, 238, 238)

گونه‌ها

تکه‌مقدار Piece

ساختار تکه‌مقدار
یک نشانه از مقدار ترجمه‌شده، همان‌گونه که متن برنامه سبک می‌نویسد. آن را با کلیدواژه، عدد، کمیت با واحد و سازنده‌های دیگر بسازید.
نامانگلیسیگونهتوضیح
گونه تکهkindصحیح = 0گونه‌ی نشانه.
عدد تکهnumاعشار۶۴ = 0عدد یک عدد، کمیت یا درصد.
متن تکهtextرشته = ""متن کلیدواژه، واحد، نام تابع، رشته، نشانی یا هش.
متن خام تکهrawرشته = ""کلیدواژه همان‌گونه که نوشته شده، وقتی با متن کوچک‌شده فرق دارد (نام قلم‌ها بزرگی و کوچکی حرف‌ها را نگه می‌دارند).
کد تکهcodeصحیح = 0نویسه‌ی یک جداکننده، یا 1 برای عددی که بی‌اعشار نوشته شده است.
فاصله پیش از تکهspaceمنطقی = نادرستآیا پیش از جداکننده فاصله آمده است.
شناسه نام تکهidصحیح = -1جای یک کلیدواژه، واحد یا نام تابع در جدول نام‌ها، یا -1 وقتی تکه متن خودش را دارد.
رنگ روشن تکهcolorصحیح۶۴ = 0رنگ حل‌شده به صورت RGBA مستقیم در یک عدد، 0xRRGGBBAA، برای طرح روشن.
رنگ تیره تکهdarkصحیح۶۴ = 0همان رنگ برای طرح تیره؛ برابر رنگ روشن تکه است مگر آن که مقدار light-dark() یا یک رنگ سامانه داشته باشد.
gui-css-Program.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع styles(): سی اس اس.برنامه‌سبک:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    p.افزودن گزینشگر ساده(3، "card"، ""، 0، 0، 0، نادرست)
    p.افزودن گزینشگر مرکب(0، 1، 0)
    p.افزودن گزینشگر کامل(0، 1، 1000، نادرست، نادرست)
    p.افزودن پرسش رسانه(-1، [سی اس اس.آغاز کارکرد("")، سی اس اس.کلیدواژه("max-width")، سی اس اس.جداکننده(58، نادرست)، سی اس اس.کمیت با واحد(600.0، "px")، سی اس اس.بستن پرانتز()])
    p.افزودن اعلان("padding-top"، نادرست، [سی اس اس.کمیت با واحد(12.0، "px")])
    p.افزودن اعلان("color"، درست، [سی اس اس.نشان هش("334155")])
    p.افزودن اعلان("font-family"، نادرست، [سی اس اس.کلیدواژه با متن("vazirmatn"، "Vazirmatn")، سی اس اس.ویرگول()، سی اس اس.کلیدواژه("sans-serif")])
    p.افزودن اعلان("line-height"، نادرست، [سی اس اس.عدد(1.5)])
    p.افزودن اعلان("order"، نادرست، [سی اس اس.عدد گرد(2.0)])
    p.افزودن اعلان("width"، نادرست، [سی اس اس.درصد(50.0)])
    p.افزودن اعلان("background-image"، نادرست، [سی اس اس.نشانی منبع("bg.png")])
    p.افزودن اعلان متنی("--label"، "\"hi\""، نادرست)
    p.بستن فهرست اعلان(8)
    p.افزودن اعلان("margin-top"، نادرست، [سی اس اس.متن نقل شده("x")])
    p.بستن فهرست اعلان(1)
    p.افزودن قاعده برنامه(0، 0، 0)
    برگشت p
پایان

تابع ریشه:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    card := سی اس اس.ترجمه اعلان ها(p، "padding: 16px; border-radius: 8px")
    سرچاپ "list"، card، "same text"، سی اس اس.ترجمه اعلان ها(p، "padding: 16px; border-radius: 8px")، "empty"، سی اس اس.ترجمه اعلان ها(p، "")
    سرچاپ "rule"، سی اس اس.ترجمه قاعده(p، ".card:hover"، "background: #eef"، "")، سی اس اس.ترجمه قاعده(p، ".card"، "padding: 8px"، "(max-width: 600px)")
    سرچاپ "css rules"، سی اس اس.ترجمه سی اس اس(p، "h1 { margin: 0 } @media (prefers-color-scheme: dark) { body { color: #eee } }")
    _bad := سی اس اس.ترجمه اعلان ها(p، "colr: red")
    سرچاپ "errors"، سی اس اس.شمار خطاهای برنامه(p)
    e := سی اس اس.خطای برنامه(p، 0)
    سرچاپ e
    حافظه.آزادسازی(e برگردان تهی*)
    src := سی اس اس.متن برنامه سبک(p، "page_styles"، "css")
    سرچاپ src.شروع با("func page_styles(): css.Program:")
    حافظه.آزادسازی(src برگردان تهی*)
    wide := سی اس اس.اعلان زمان اجرا(p، "width"، "240px")
    ناپایا sheet := سی اس اس.برگه از برنامه(p)
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا box := سی اس اس.عنصر تازه("box"، 0)
    box.کلاس های عنصر = "card"
    box.شناسه اعلان پایه = card
    box.شناسه اعلان اشاره = -1
    box.شناسه اعلان تمرکز = -1
    box.شناسه اعلان فشردن = -1
    box.شناسه های اعلان زمان اجرا.بیفزا(wide)
    els.بیفزا(box)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 500.0 })
    cs := sheet.سبک عنصر(1)
    سرچاپ "padding"، سی اس اس.متن درازا(cs.فاصله داخلی بالا)، "width"، سی اس اس.متن درازا(cs.پهنا)
    سرچاپ "added again"، sheet.افزودن برنامه(p)
    ناپایا q := styles()
    piece := سی اس اس.کلیدواژه("auto")
    سرچاپ "piece"، piece.گونه تکه، piece.متن تکه، piece.متن خام تکه، piece.عدد تکه، piece.کد تکه، piece.فاصله پیش از تکه، "program"، q.شناسه برنامه بزرگتربرابر 0
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
    sheet.آزادسازی برگه()
    q.آزادسازی برنامه()
    p.آزادسازی برنامه()
پایان
خروجیlist 0 same text 0 empty -1 rule true true css rules 2 errors 1 unknown property 'colr' true padding 16px width 240px added again 0 piece 1 auto 0 0 false program true

برنامه‌سبک Program

ساختار برنامه‌سبک
یک برنامه‌ی سبک ترجمه‌شده: فهرست‌های اعلان، گزینشگرها، شرط‌های رسانه و قاعده‌ها به شکل نوع‌دار. برنامه یک دستگیره است و رونوشت‌ها داده‌ی یکسانی دارند.
نامانگلیسیگونهتوضیح
شناسه برنامهidصحیح = -1شماره‌ی دستگیره، یا -1 برای برنامه‌ای که هنوز با برنامه سبک تازه ساخته نشده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن اعلان AddDecl

تابع افزودن اعلان(prop: رشته، important: منطقی، value: تکه‌مقدار)
یک اعلان بلند را با نام ویژگی و مقدارش به صورت تکه‌ها می‌افزاید. برنامه‌هایی را که پیش از مقدارهای نوع‌دار نوشته شده‌اند هنوز بار می‌کند؛ متن برنامه سبک اکنون افزودن اعلان نوع دار می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن اعلان نوع دار AddTyped

تابع افزودن اعلان نوع دار(prop: صحیح، flags: صحیح، value: تکه‌مقدار)
یک اعلان بلند با مقدار نوع‌دار می‌افزاید: شناسه‌ی عددی ویژگی، پرچم‌ها (1 برای !important و 2 وقتی مقدار به طرح رنگ وابسته است) و مقدار به صورت تکه‌ها. این همان چیزی است که متن برنامه سبک می‌نویسد و بارگذاری آن نه رشته‌ای را مقایسه می‌کند و نه چیزی را تجزیه.
gui-css-typed.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع styles(): سی اس اس.برنامه‌سبک:
    ناپایا p := سی اس اس.برنامه سبک تازه()
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("display")، 0، [سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("flex"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("margin-top")، 0، [سی اس اس.کمیت با شناسه واحد(1.5، سی اس اس.شناسه کلیدواژه("em"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("width")، 0، [سی اس اس.کارکرد با شناسه(سی اس اس.شناسه کلیدواژه("calc"))، سی اس اس.درصد(100.0)، سی اس اس.جداکننده(45، درست)، سی اس اس.کمیت با شناسه واحد(20.0، سی اس اس.شناسه کلیدواژه("px"))، سی اس اس.بستن پرانتز()])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("color-scheme")، 2، [سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("light"))، سی اس اس.کلیدواژه با شناسه(سی اس اس.شناسه کلیدواژه("dark"))])
    p.افزودن اعلان نوع دار(سی اس اس.شناسه ویژگی سبک("color")، 2، [سی اس اس.رنگ حل شده(0x111111ff، 0xeeeeeeff، 1)])
    p.بستن فهرست اعلان(5)
    برگشت p
پایان

تابع ریشه:
    name := سی اس اس.نام ویژگی سبک(سی اس اس.شناسه ویژگی سبک("color"))
    kw := سی اس اس.نام کلیدواژه(سی اس اس.شناسه کلیدواژه("flex"))
    سرچاپ "ids"، سی اس اس.شناسه ویژگی سبک("color")، name، سی اس اس.شناسه کلیدواژه("flex")، kw
    حافظه.آزادسازی(name برگردان تهی*)
    حافظه.آزادسازی(kw برگردان تهی*)
    piece := سی اس اس.رنگ حل شده(0x3366aaff، 0x99bbffff، 1)
    سرچاپ "piece"، piece.شناسه نام تکه، piece.رنگ روشن تکه، piece.رنگ تیره تکه، سی اس اس.کلیدواژه با شناسه(5).شناسه نام تکه
    ناپایا c := سی اس اس.رنگ‌سی‌اس‌اس {}
    _ok := سی اس اس.تجزیه رنگ("oklch(0.7 0.1 30)"، c)
    سرچاپ "oklch"، c.قرمز، c.سبز، c.آبی
    mixed := سی اس اس.متن رنگ(سی اس اس.آمیختن رنگ ها(سی اس اس.رنگ‌سی‌اس‌اس { قرمز = 255 }، سی اس اس.رنگ‌سی‌اس‌اس { آبی = 255، آلفا = 0 }، 0.5))
    سرچاپ "mix"، mixed
    حافظه.آزادسازی(mixed برگردان تهی*)
    ناپایا p := styles()
    ناپایا sheet := سی اس اس.برگه از برنامه(p)
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا box := سی اس اس.عنصر تازه("box"، 0)
    box.شناسه اعلان پایه = 0
    els.بیفزا(box)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط { پهنای پنجره = 400.0 })
    سرچاپ "light"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "color")، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "width")
    سرچاپ "restyled"، sheet.تنظیم طرح رنگ(els، درست)
    سرچاپ "dark"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "color")
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
    sheet.آزادسازی برگه()
    p.آزادسازی برنامه()
پایان
خروجیids 59 color 228 flex piece -1 862366463 2579234815 5 oklch 213 134 121 mix rgba(255, 0, 0, 0.5) light rgb(17, 17, 17) calc(100% - 20px) restyled 2 dark rgb(238, 238, 238)

افزودن اعلان متنی AddVarDecl

تابع افزودن اعلان متنی(prop: رشته، value: رشته، important: منطقی)
اعلانی می‌افزاید که مقدارش متن می‌ماند: یک ویژگی سفارشی یا مقداری با var() که هنگام محاسبه‌ی سبک‌ها جایگزین می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

بستن فهرست اعلان EndList

تابع بستن فهرست اعلان(count: صحیح)
فهرست اعلانی از آخرین اعلان‌های افزوده‌شده می‌بندد؛ شناسه‌اش شمار فهرست‌های پیش از آن است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن پرسش رسانه AddMedia

تابع افزودن پرسش رسانه(parent: صحیح، condition: تکه‌مقدار)
یک شرط رسانه به صورت تکه‌ها با شماره‌ی شرط دربرگیرنده یا -1 می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن گزینشگر ساده AddSimple

تابع افزودن گزینشگر ساده(kind: صحیح، name: رشته، value: رشته، op: صحیح، a: صحیح، b: صحیح، icase: منطقی)
یک گزینشگر ساده می‌افزاید: نوع، کلاس، شناسه، ویژگی، شبه‌کلاس، شماره یا فهرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن گزینشگر مرکب AddCompound

تابع افزودن گزینشگر مرکب(first: صحیح، count: صحیح، combinator: صحیح)
یک گزینشگر مرکب از گزینشگرهای ساده‌ی پشت سر هم و ترکیب‌کننده‌ی پیش از آن می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن گزینشگر کامل AddSelector

تابع افزودن گزینشگر کامل(first: صحیح، count: صحیح، specificity: صحیح، state_left: منطقی، sibling: منطقی)
یک گزینشگر کامل از گزینشگرهای مرکب پشت سر هم با ویژگی‌مندی‌اش می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

افزودن قاعده برنامه AddRule

تابع افزودن قاعده برنامه(selector: صحیح، list: صحیح، media: صحیح)
قاعده‌ای از یک گزینشگر، یک فهرست اعلان و یک شرط رسانه (-1 برای هیچ) می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

آزادسازی برنامه Free

تابع آزادسازی برنامه()
داده‌ی برنامه را آزاد می‌کند. برگه‌هایی که از آن ساخته شده‌اند رونوشت خودشان را دارند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

سبک‌محاسبه‌شده ComputedStyle

ساختار سبک‌محاسبه‌شده
همه‌ی ویژگی‌های پشتیبانی‌شده‌ی یک عنصر پس از آبشار، ارث‌بری و محاسبه: درازاها به پیکسل جز درصدهایی که چینش باید حل کند، رنگ‌ها به صورت RGBA ساده و کلیدواژه‌ها به صورت شمارشی.
نامانگلیسیگونهتوضیح
نمایشdisplayنوع‌نمایشمقدار محاسبه‌شده‌ی display.
جایگاهpositionجعبه سی اس اس.نوع‌جایگاهمقدار محاسبه‌شده‌ی position.
فاصله از بالاtopدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی top.
فاصله از راستrightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی right.
فاصله از پایینbottomدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی bottom.
فاصله از چپleftدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی left.
سنجش جعبهbox_sizingجعبه سی اس اس.نوع‌سنجش‌جعبهمقدار محاسبه‌شده‌ی box-sizing.
پهناwidthدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی width.
بلندیheightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی height.
کمینه پهناmin_widthدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی min-width.
کمینه بلندیmin_heightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی min-height.
بیشینه پهناmax_widthدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی max-width.
بیشینه بلندیmax_heightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی max-height.
نسبت ابعادaspect_ratioاعشار۶۴ = 0مقدار محاسبه‌شده‌ی aspect-ratio.
حاشیه بالاmargin_topدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی margin-top.
حاشیه راستmargin_rightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی margin-right.
حاشیه پایینmargin_bottomدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی margin-bottom.
حاشیه چپmargin_leftدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی margin-left.
فاصله داخلی بالاpadding_topدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی padding-top.
فاصله داخلی راستpadding_rightدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی padding-right.
فاصله داخلی پایینpadding_bottomدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی padding-bottom.
فاصله داخلی چپpadding_leftدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی padding-left.
مرز بالاborder_topضلع‌مرزمقدار محاسبه‌شده‌ی border-top.
مرز راستborder_rightضلع‌مرزمقدار محاسبه‌شده‌ی border-right.
مرز پایینborder_bottomضلع‌مرزمقدار محاسبه‌شده‌ی border-bottom.
مرز چپborder_leftضلع‌مرزمقدار محاسبه‌شده‌ی border-left.
گردی بالا چپradius_top_leftگوشهمقدار محاسبه‌شده‌ی border-top-left-radius.
گردی بالا راستradius_top_rightگوشهمقدار محاسبه‌شده‌ی border-top-right-radius.
گردی پایین راستradius_bottom_rightگوشهمقدار محاسبه‌شده‌ی border-bottom-right-radius.
گردی پایین چپradius_bottom_leftگوشهمقدار محاسبه‌شده‌ی border-bottom-left-radius.
سرریز افقیoverflow_xجعبه سی اس اس.نوع‌سرریزمقدار محاسبه‌شده‌ی overflow-x.
سرریز عمودیoverflow_yجعبه سی اس اس.نوع‌سرریزمقدار محاسبه‌شده‌ی overflow-y.
جهت نوشتارdirectionجعبه سی اس اس.نوع‌جهتمقدار محاسبه‌شده‌ی direction.
جهت فلکسflex_directionجعبه سی اس اس.نوع‌جهت‌فلکسمقدار محاسبه‌شده‌ی flex-direction.
شکست فلکسflex_wrapجعبه سی اس اس.نوع‌شکست‌فلکسمقدار محاسبه‌شده‌ی flex-wrap.
رشد فلکسflex_growاعشار۶۴ = 0مقدار محاسبه‌شده‌ی flex-grow.
کوچک شدن فلکسflex_shrinkاعشار۶۴ = 1مقدار محاسبه‌شده‌ی flex-shrink.
پایه فلکسflex_basisدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی flex-basis.
پخش محتواjustify_contentجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی justify-content.
تراز فرزندانalign_itemsجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی align-items.
تراز خودalign_selfجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی align-self.
تراز محتواalign_contentجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی align-content.
پخش فرزندانjustify_itemsجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی justify-items.
پخش خودjustify_selfجعبه سی اس اس.نوع‌ترازمقدار محاسبه‌شده‌ی justify-self.
فاصله سطرهاrow_gapدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی row-gap.
فاصله ستون هاcolumn_gapدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی column-gap.
ترتیبorderصحیح = 0مقدار محاسبه‌شده‌ی order.
عمق لایهz_indexصحیح = 0مقدار محاسبه‌شده‌ی z-index.
عمق خودکارz_autoمنطقی = درستآیا z-index خودکار است.
شناورfloat_modeشناوریمقدار محاسبه‌شده‌ی float.
پاک سازیclearپاک‌سازی‌شناورمقدار محاسبه‌شده‌ی clear.
ترازبندی عمودیvertical_alignترازعمودیمقدار محاسبه‌شده‌ی vertical-align.
درازای ترازبندی عمودیvertical_align_lenدرازای‌سی‌اس‌اسدرازا وقتی ترازبندی عمودی از نوع درازاست.
رنگ متنcolorرنگ‌سی‌اس‌اسمقدار محاسبه‌شده‌ی color.
رنگ پس زمینهbackground_colorرنگ‌سی‌اس‌اسمقدار محاسبه‌شده‌ی background-color.
لایه های پس زمینهbackgroundsوکتور<لایه‌پس‌زمینه>لایه‌های پس‌زمینه، نخستین در بالا، که background-image و ویژگی‌های هر لایه را با هم دارند.
سایه های جعبهbox_shadowsوکتور<سایه>مقدار محاسبه‌شده‌ی box-shadow.
خط دورoutlineضلع‌مرزپهنا، سبک و رنگ outline.
فاصله خط دورoutline_offsetاعشار۶۴ = 0مقدار محاسبه‌شده‌ی outline-offset.
ماتیopacityاعشار۶۴ = 1مقدار محاسبه‌شده‌ی opacity.
تبدیل هاtransformsوکتور<کارکرد‌تبدیل>مقدار محاسبه‌شده‌ی transform.
پالایه هاfiltersوکتور<کارکرد‌پالایه>مقدار محاسبه‌شده‌ی filter، یک خانه برای هر کارکرد پالایه.
تصویر لبهborder_imageتصویرلبهمقدار محاسبه‌شده‌ی border-image و ویژگی‌های جزئی آن. کوته‌نویسی border آن را به حالت آغازین برمی‌گرداند.
پالایه های پس زمینهbackdrop_filtersوکتور<کارکرد‌پالایه>مقدار محاسبه‌شده‌ی backdrop-filter.
مبدأ تبدیل افقیtransform_origin_xدرازای‌سی‌اس‌اسtransform-origin، محور افقی.
مبدأ تبدیل عمودیtransform_origin_yدرازای‌سی‌اس‌اسtransform-origin، محور عمودی.
انتقال افقیtranslate_xدرازای‌سی‌اس‌اسویژگی translate، محور افقی.
انتقال عمودیtranslate_yدرازای‌سی‌اس‌اسویژگی translate، محور عمودی.
چرخشrotateاعشار۶۴ = 0ویژگی rotate به درجه.
مقیاس افقیscale_xاعشار۶۴ = 1ویژگی scale، محور افقی.
مقیاس عمودیscale_yاعشار۶۴ = 1ویژگی scale، محور عمودی.
دیدپذیری عنصرvisibilityدیدپذیریمقدار محاسبه‌شده‌ی visibility.
نشانگرcursorرشته = "auto"کلیدواژه‌ی cursor؛ از نشانگرهای url() فقط کلیدواژه‌ی جایگزین می‌ماند.
رویداد اشاره گرpointer_eventsمنطقی = درستوقتی pointer-events برابر none است نادرست.
گزینش پذیریuser_selectگزینش‌کاربرمقدار محاسبه‌شده‌ی user-select.
خانواده قلمfont_familyرشته = "Times New Roman"font-family به صورت فهرستی جداشده با ", "؛ خانواده های قلم را ببینید. مقدار آغازین مانند کرومیوم Times New Roman است.
سایز قلمfont_sizeاعشار۶۴ = 16مقدار محاسبه‌شده‌ی font-size.
ضریب سایز کلیدواژهfont_size_keywordاعشار۶۴ = 1سایز قلم به صورت ضریبی از medium تا وقتی از کلیدواژه می‌آید، برای اندازه‌ی متن monospace مانند کرومیوم؛ وگرنه صفر.
وزن قلمfont_weightصحیح = 400مقدار محاسبه‌شده‌ی font-weight.
حالت قلمfont_styleسبک‌قلممقدار محاسبه‌شده‌ی font-style.
حروف کوچک بزرگsmall_capsمنطقی = نادرستمقدار محاسبه‌شده‌ی font-variant-caps.
کشیدگی قلمfont_stretchاعشار۶۴ = 100مقدار محاسبه‌شده‌ی font-stretch.
ارتفاع خطline_heightاعشار۶۴ = 19.2line-height به پیکسل.
ضریب ارتفاع خطline_height_factorاعشار۶۴ = 0عدد وقتی line-height عدد ساده است (به صورت عدد ارث می‌رسد)؛ وگرنه صفر.
ارتفاع خط معمولیline_height_normalمنطقی = درستآیا line-height برابر normal است؛ آنگاه ارتفاع خط ۱٫۲ برابر سایز قلم است تا بسته‌ی متن قلم را بسنجد.
فاصله حروفletter_spacingاعشار۶۴ = 0مقدار محاسبه‌شده‌ی letter-spacing.
فاصله واژه هاword_spacingاعشار۶۴ = 0مقدار محاسبه‌شده‌ی word-spacing.
ترازبندی متنtext_alignترازمتنمقدار محاسبه‌شده‌ی text-align.
تورفتگی متنtext_indentدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی text-indent.
دگرگونی حروفtext_transformدگرگونی‌متنمقدار محاسبه‌شده‌ی text-transform.
فضای سفید متنwhite_spaceفضای‌سفیدمقدار محاسبه‌شده‌ی white-space.
زیرخطunderlineمنطقی = نادرستtext-decoration-line شامل underline است.
بالاخطoverlineمنطقی = نادرستtext-decoration-line شامل overline است.
خط خوردهline_throughمنطقی = نادرستtext-decoration-line شامل line-through است.
سبک خط تزیینیdecoration_styleسبک‌آرایهمقدار محاسبه‌شده‌ی text-decoration-style.
رنگ خط تزیینیdecoration_colorرنگ‌سی‌اس‌اسمقدار محاسبه‌شده‌ی text-decoration-color.
ضخامت خط تزیینیdecoration_thicknessدرازای‌سی‌اس‌اسمقدار محاسبه‌شده‌ی text-decoration-thickness.
سایه های متنtext_shadowsوکتور<سایه>مقدار محاسبه‌شده‌ی text-shadow.
برش متن سرریزtext_overflowسرریزمتنمقدار محاسبه‌شده‌ی text-overflow.
شکست واژه هاword_breakشکست‌واژهمقدار محاسبه‌شده‌ی word-break.
شکستن سرریزoverflow_wrapشکست‌سرریزمقدار محاسبه‌شده‌ی overflow-wrap.
شمار فاصله تبtab_sizeاعشار۶۴ = 8tab-size به شمار فاصله، وقتی درازا داده شده صفر.
درازای تبtab_size_pxاعشار۶۴ = 0tab-size به پیکسل وقتی درازا داده شده.
نوع نشانه فهرستlist_style_typeرشته = "disc"مقدار محاسبه‌شده‌ی list-style-type.
جای نشانه فهرستlist_style_positionجای‌نشانهمقدار محاسبه‌شده‌ی list-style-position.
تصویر نشانه فهرستlist_style_imageرشته = ""مقدار محاسبه‌شده‌ی list-style-image.
ادغام مرزهاborder_collapseادغام‌مرزمقدار محاسبه‌شده‌ی border-collapse.
فاصله مرزها افقیborder_spacing_xاعشار۶۴ = 0border-spacing افقی.
فاصله مرزها عمودیborder_spacing_yاعشار۶۴ = 0border-spacing عمودی.
روش چینش جدولtable_layoutچینش‌جدولمقدار محاسبه‌شده‌ی table-layout.
سمت عنوان جدولcaption_sideجعبه سی اس اس.نوع‌سوی‌عنوانمقدار محاسبه‌شده‌ی caption-side عنوان جدول.
ستون های الگوی شبکهgrid_template_columnsرشته = ""مقدار محاسبه‌شده‌ی grid-template-columns به صورت متن CSS با درازاهای پیکسلی، یا خالی برای none.
سطرهای الگوی شبکهgrid_template_rowsرشته = ""مقدار محاسبه‌شده‌ی grid-template-rows، یا خالی برای none.
نواحی الگوی شبکهgrid_template_areasرشته = ""مقدار محاسبه‌شده‌ی grid-template-areas به صورت سطرهای در نقل‌قول، یا خالی برای none.
اندازه ستون های ضمنیgrid_auto_columnsرشته = ""مقدار محاسبه‌شده‌ی grid-auto-columns، یا خالی برای auto.
اندازه سطرهای ضمنیgrid_auto_rowsرشته = ""مقدار محاسبه‌شده‌ی grid-auto-rows، یا خالی برای auto.
روش جای دهی خودکارgrid_auto_flowجعبه سی اس اس.نوع‌جریان‌شبکهمقدار محاسبه‌شده‌ی grid-auto-flow.
خط آغاز سطرgrid_row_startرشته = ""مقدار محاسبه‌شده‌ی grid-row-start، یا خالی برای auto.
خط انتهای سطرgrid_row_endرشته = ""مقدار محاسبه‌شده‌ی grid-row-end، یا خالی برای auto.
خط آغاز ستونgrid_column_startرشته = ""مقدار محاسبه‌شده‌ی grid-column-start، یا خالی برای auto.
خط انتهای ستونgrid_column_endرشته = ""مقدار محاسبه‌شده‌ی grid-column-end، یا خالی برای auto.
گذارهاtransitionsوکتور<گذار>گذارها، از ترکیب چهار فهرست transition-*.
رنگ نشانگر متنcaret_colorرنگ‌سی‌اس‌اسمقدار محاسبه‌شده‌ی caret-color.
رنگ تاکیدaccent_colorرنگ‌سی‌اس‌اسمقدار محاسبه‌شده‌ی accent-color.
تاکید خودکارaccent_autoمنطقی = درستآیا accent-color خودکار است؛ آنگاه رنگ تاکید رنگ سیستم است.
ظاهرappearanceرشته = "none"appearance؛ کنترل‌های فرم با auto با ظاهر بومی کشیده می‌شوند.
طرح رنگ عنصرcolor_schemeطرح‌رنگمقدار محاسبه‌شده‌ی color-scheme.
تیره به کار رفتهused_darkمنطقی = نادرستآیا رنگ‌های سیستمی برای این عنصر نسخه‌ی تیره‌شان را می‌گیرند (از color-scheme و محیط).
جاگیری تصویرobject_fitجاگیری‌شیءمقدار محاسبه‌شده‌ی object-fit.
جای تصویر افقیobject_position_xدرازای‌سی‌اس‌اسobject-position، محور افقی.
جای تصویر عمودیobject_position_yدرازای‌سی‌اس‌اسobject-position، محور عمودی.
gui-css-ComputedStyle.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس

تابع ریشه:
    ناپایا sheet := سی اس اس.برگه تازه()
    دیرکن sheet.آزادسازی برگه()
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    ناپایا root := سی اس اس.عنصر تازه("page"، -1)
    root.اعلان های پایه = "color: #222; font: 16px/1.5 Vazirmatn, sans-serif"
    els.بیفزا(root)
    ناپایا card := سی اس اس.عنصر تازه("box"، 0)
    card.اعلان های پایه = `display: flex; position: relative; top: 4px; flex-flow: row wrap; gap: 8px 2%; padding: 12px 16px; margin: 0 auto; border: 2px solid #ccc; border-radius: 12px; background: linear-gradient(to right, #fff 0%, #eee 100%), url(bg.png) center / cover no-repeat, #fafafa; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); outline: 1px dashed red; outline-offset: 2px; opacity: 0.9; transform: rotate(5deg) scale(1.1); transform-origin: left top; translate: 4px 2px; rotate: 10deg; scale: 2; transition: opacity 300ms ease-out 100ms; cursor: pointer; z-index: 3; text-align: center; text-shadow: 1px 1px 2px black; letter-spacing: 1px; word-spacing: 2px; text-decoration: underline overline line-through wavy red 2px; list-style: square inside; caret-color: blue; accent-color: green; color-scheme: light dark; aspect-ratio: 4 / 3; overflow: hidden auto; white-space: nowrap; text-overflow: ellipsis; word-break: break-all; overflow-wrap: anywhere; tab-size: 4; vertical-align: middle; float: left; clear: both; user-select: none; pointer-events: none; visibility: visible; object-fit: cover; object-position: right bottom; border-collapse: collapse; border-spacing: 2px 4px; table-layout: fixed; appearance: none; font-style: italic; font-variant-caps: small-caps; font-stretch: condensed; text-transform: uppercase; text-indent: 1em; order: 2; flex-grow: 1; flex-shrink: 0; flex-basis: 50%; justify-content: center; align-items: stretch; align-self: flex-start; align-content: space-around; justify-items: start; justify-self: end; box-sizing: border-box; direction: ltr; min-width: 100px; max-width: 800px; min-height: 2em; max-height: none; width: 50%; height: auto; right: auto; bottom: auto; left: 0`
    els.بیفزا(card)
    _n := sheet.محاسبه سبک ها(els، سی اس اس.محیط {})
    cs := sheet.سبک عنصر(1)
    سرچاپ cs.نمایش، cs.جایگاه، سی اس اس.متن درازا(cs.فاصله از بالا)، سی اس اس.متن درازا(cs.فاصله از راست)، سی اس اس.متن درازا(cs.فاصله از پایین)، سی اس اس.متن درازا(cs.فاصله از چپ)
    سرچاپ cs.سنجش جعبه، سی اس اس.متن درازا(cs.پهنا)، سی اس اس.متن درازا(cs.بلندی)، سی اس اس.متن درازا(cs.کمینه پهنا)، سی اس اس.متن درازا(cs.کمینه بلندی)، سی اس اس.متن درازا(cs.بیشینه پهنا)
    سرچاپ سی اس اس.متن درازا(cs.بیشینه بلندی)، cs.نسبت ابعاد، سی اس اس.متن درازا(cs.حاشیه بالا)، سی اس اس.متن درازا(cs.حاشیه راست)، سی اس اس.متن درازا(cs.حاشیه پایین)، سی اس اس.متن درازا(cs.حاشیه چپ)
    سرچاپ سی اس اس.متن درازا(cs.فاصله داخلی بالا)، سی اس اس.متن درازا(cs.فاصله داخلی راست)، سی اس اس.متن درازا(cs.فاصله داخلی پایین)، سی اس اس.متن درازا(cs.فاصله داخلی چپ)، cs.مرز بالا.پهنای ضلع، cs.مرز بالا.سبک ضلع
    سرچاپ سی اس اس.متن رنگ(cs.مرز بالا.رنگ ضلع)، cs.مرز راست.پهنای ضلع، cs.مرز راست.سبک ضلع، سی اس اس.متن رنگ(cs.مرز راست.رنگ ضلع)، cs.مرز پایین.پهنای ضلع، cs.مرز پایین.سبک ضلع
    سرچاپ سی اس اس.متن رنگ(cs.مرز پایین.رنگ ضلع)، cs.مرز چپ.پهنای ضلع، cs.مرز چپ.سبک ضلع، سی اس اس.متن رنگ(cs.مرز چپ.رنگ ضلع)، سی اس اس.متن درازا(cs.گردی بالا چپ.شعاع افقی)، سی اس اس.متن درازا(cs.گردی بالا چپ.شعاع عمودی)
    سرچاپ سی اس اس.متن درازا(cs.گردی بالا راست.شعاع افقی)، سی اس اس.متن درازا(cs.گردی بالا راست.شعاع عمودی)، سی اس اس.متن درازا(cs.گردی پایین راست.شعاع افقی)، سی اس اس.متن درازا(cs.گردی پایین راست.شعاع عمودی)، سی اس اس.متن درازا(cs.گردی پایین چپ.شعاع افقی)، سی اس اس.متن درازا(cs.گردی پایین چپ.شعاع عمودی)
    سرچاپ cs.سرریز افقی، cs.سرریز عمودی، cs.جهت نوشتار، cs.جهت فلکس، cs.شکست فلکس، cs.رشد فلکس
    سرچاپ cs.کوچک شدن فلکس، سی اس اس.متن درازا(cs.پایه فلکس)، cs.پخش محتوا، cs.تراز فرزندان، cs.تراز خود، cs.تراز محتوا
    سرچاپ cs.پخش فرزندان، cs.پخش خود، سی اس اس.متن درازا(cs.فاصله سطرها)، سی اس اس.متن درازا(cs.فاصله ستون ها)، cs.ترتیب، cs.عمق لایه
    سرچاپ cs.عمق خودکار، cs.شناور، cs.پاک سازی، cs.ترازبندی عمودی، سی اس اس.متن درازا(cs.درازای ترازبندی عمودی)، سی اس اس.متن رنگ(cs.رنگ متن)
    سرچاپ سی اس اس.متن رنگ(cs.رنگ پس زمینه)، cs.لایه های پس زمینه.طول()، cs.سایه های جعبه.طول()، cs.خط دور.پهنای ضلع، cs.خط دور.سبک ضلع، سی اس اس.متن رنگ(cs.خط دور.رنگ ضلع)
    سرچاپ cs.فاصله خط دور، cs.ماتی، cs.تبدیل ها.طول()، سی اس اس.متن درازا(cs.مبدأ تبدیل افقی)، سی اس اس.متن درازا(cs.مبدأ تبدیل عمودی)، سی اس اس.متن درازا(cs.انتقال افقی)
    سرچاپ سی اس اس.متن درازا(cs.انتقال عمودی)، cs.چرخش، cs.مقیاس افقی، cs.مقیاس عمودی، cs.دیدپذیری عنصر، "[" + cs.نشانگر + "]"
    سرچاپ cs.رویداد اشاره گر، cs.گزینش پذیری، "[" + cs.خانواده قلم + "]"، cs.سایز قلم، cs.ضریب سایز کلیدواژه، cs.وزن قلم
    سرچاپ cs.حالت قلم، cs.حروف کوچک بزرگ، cs.کشیدگی قلم، cs.ارتفاع خط، cs.ضریب ارتفاع خط، cs.ارتفاع خط معمولی
    سرچاپ cs.فاصله حروف، cs.فاصله واژه ها، cs.ترازبندی متن، سی اس اس.متن درازا(cs.تورفتگی متن)، cs.دگرگونی حروف، cs.فضای سفید متن
    سرچاپ cs.زیرخط، cs.بالاخط، cs.خط خورده، cs.سبک خط تزیینی، سی اس اس.متن رنگ(cs.رنگ خط تزیینی)، سی اس اس.متن درازا(cs.ضخامت خط تزیینی)
    سرچاپ cs.سایه های متن.طول()، cs.برش متن سرریز، cs.شکست واژه ها، cs.شکستن سرریز، cs.شمار فاصله تب، cs.درازای تب
    سرچاپ "[" + cs.نوع نشانه فهرست + "]"، cs.جای نشانه فهرست، "[" + cs.تصویر نشانه فهرست + "]"، cs.ادغام مرزها، cs.فاصله مرزها افقی، cs.فاصله مرزها عمودی
    سرچاپ cs.روش چینش جدول، cs.گذارها.طول()، سی اس اس.متن رنگ(cs.رنگ نشانگر متن)، سی اس اس.متن رنگ(cs.رنگ تاکید)، cs.تاکید خودکار، "[" + cs.ظاهر + "]"
    سرچاپ cs.طرح رنگ عنصر، cs.تیره به کار رفته، cs.جاگیری تصویر، سی اس اس.متن درازا(cs.جای تصویر افقی)، سی اس اس.متن درازا(cs.جای تصویر عمودی)
    l := cs.لایه های پس زمینه[0]
    سرچاپ l.نوع تصویر لایه، l.نشانی تصویر.طول()، l.گرادیان تکراری، l.زاویه گرادیان، l.سوی افقی گرادیان، l.سوی عمودی گرادیان، l.شکل گرادیان، l.گستره گرادیان، سی اس اس.متن درازا(l.شعاع افقی گرادیان)، سی اس اس.متن درازا(l.شعاع عمودی گرادیان)، سی اس اس.متن درازا(l.مرکز افقی گرادیان)، سی اس اس.متن درازا(l.مرکز عمودی گرادیان)
    سرچاپ l.ایستگاه های رنگ.طول()، سی اس اس.متن درازا(l.جای افقی لایه)، سی اس اس.متن درازا(l.جای عمودی لایه)، l.ابعاد لایه، سی اس اس.متن درازا(l.پهنای لایه)، سی اس اس.متن درازا(l.بلندی لایه)، l.کاشی افقی لایه، l.کاشی عمودی لایه، l.برش لایه، l.مبدأ لایه، l.لایه ثابت
    st := l.ایستگاه های رنگ[1]
    سرچاپ سی اس اس.متن رنگ(st.رنگ ایستگاه)، سی اس اس.متن درازا(st.جای ایستگاه)، st.جای دارد، st.راهنمای میانی
    u := cs.لایه های پس زمینه[1]
    سرچاپ u.نوع تصویر لایه، u.نشانی تصویر، u.ابعاد لایه، u.کاشی افقی لایه
    s := cs.سایه های جعبه[0]
    سرچاپ s.جابجایی افقی سایه، s.جابجایی عمودی سایه، s.تاری سایه، s.گسترش سایه، سی اس اس.متن رنگ(s.رنگ سایه)، s.سایه داخلی
    f := cs.تبدیل ها[1]
    سرچاپ f.قسم کارکرد تبدیل، سی اس اس.متن درازا(f.جابجایی افقی)، سی اس اس.متن درازا(f.جابجایی عمودی)، f.ضریب الف، f.ضریب ب، f.ضریب پ، f.ضریب ت، f.ضریب ث، f.ضریب ج
    t := cs.گذارها[0]
    سرچاپ t.ویژگی گذار، t.مدت گذار، t.درنگ گذار، t.زمان بندی گذار.قسم زمان بندی
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
پایان
خروجی4 1 4px auto auto 0px 1 50% auto 100px 32px 800px none 1.3333333333333333 0px auto 0px auto 12px 16px 12px 16px 2 2 rgb(204, 204, 204) 2 2 rgb(204, 204, 204) 2 2 rgb(204, 204, 204) 2 2 rgb(204, 204, 204) 12px 12px 12px 12px 12px 12px 12px 12px 1 4 0 0 1 1 0 50% 6 8 4 10 2 3 8px 2% 2 3 false 1 3 5 0px rgb(34, 34, 34) rgb(250, 250, 250) 3 1 1 3 rgb(255, 0, 0) 2 0.9 2 0% 0% 4px 2px 10 2 2 0 [pointer] false 1 [Vazirmatn, sans-serif] 16 0 400 1 true 75 24 1.5 false 1 2 4 16px 2 2 true true true 4 rgb(255, 0, 0) 2px 1 1 1 1 4 0 [square] 1 [] 1 2 4 1 1 rgb(0, 0, 255) rgb(0, 128, 0) false [none] 3 false 2 100% 100% 2 0 false 90 0 0 0 0 0px 0px 50% 50% 2 0% 0% 0 auto auto 0 0 0 1 false rgb(238, 238, 238) 100% true false 1 bg.png 1 1 0 2 6 0 rgba(0, 0, 0, 0.2) false 1 0px 0px 1.1 0 0 1.1 0 0 opacity 300 100 1

نوع‌نمایش Display

جداشمار نوع‌نمایش
مقدار محاسبه‌شده‌ی display، پس از بلوکی شدن فرزندان فلکس، شناورها، جعبه‌های مطلق و ریشه.
نامانگلیسیگونهتوضیح
نمایش بلوکیBlockمقدار block.
نمایش درون خطیInlineمقدار inline.
نمایش بلوک درون خطیInlineBlockمقدار inline-block.
نمایش ریشه جریانFlowRootمقدار flow-root.
نمایش فلکسFlexمقدار flex.
نمایش فلکس درون خطیInlineFlexمقدار inline-flex.
نمایش شبکهGridمقدار grid.
نمایش شبکه درون خطیInlineGridمقدار inline-grid.
نمایش قلم فهرستListItemمقدار list-item.
نمایش جدولTableمقدار table.
نمایش جدول درون خطیInlineTableمقدار inline-table.
نمایش گروه سطرTableRowGroupمقدار table-row-group.
نمایش گروه سرجدولTableHeaderGroupمقدار table-header-group.
نمایش گروه پاجدولTableFooterGroupمقدار table-footer-group.
نمایش سطر جدولTableRowمقدار table-row.
نمایش خانه جدولTableCellمقدار table-cell.
نمایش ستون جدولTableColumnمقدار table-column.
نمایش گروه ستونTableColumnGroupمقدار table-column-group.
نمایش عنوان جدولTableCaptionمقدار table-caption.
نمایش فقط فرزندانContentscontents: فرزندان جای جعبه را می‌گیرند.
بدون نمایشNonenone: بدون جعبه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

نوع‌درازا LenKind

جداشمار نوع‌درازا
آنچه یک درازای‌سی‌اس‌اس نگه می‌دارد.
نامانگلیسیگونهتوضیح
درازای خودکارAutoمقدار auto.
درازای معینLengthیک درازا یا درصد.
درازای هیچNoneمقدار none.
درازای معمولیNormalمقدار normal.
درازای کمینه محتواMinContentمقدار min-content.
درازای بیشینه محتواMaxContentمقدار max-content.
درازای سازگار با محتواFitContentمقدار fit-content.
درازای محتواContentمقدار content.
عدد بی واحدNumberیک عدد ساده که پهنا، بیرون زدگی و برش border-image از آن استفاده می‌کنند: px خود عدد را نگه می‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

سبک‌مرز BorderStyle

جداشمار سبک‌مرز
سبک خط مرز یا خط دور.
نامانگلیسیگونهتوضیح
مرز هیچNoneمقدار none.
مرز پنهانHiddenمقدار hidden.
مرز یکپارچهSolidمقدار solid.
مرز خط چینDashedمقدار dashed.
مرز نقطه چینDottedمقدار dotted.
مرز دوخطیDoubleمقدار double.
مرز شیاریGrooveمقدار groove.
مرز برجستهRidgeمقدار ridge.
مرز فرورفتهInsetمقدار inset.
مرز بیرون زدهOutsetمقدار outset.
مرز خودکارAutoسبک auto ویژه‌ی خط دور که حلقه‌ی تمرکز کشیده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

دیدپذیری Visibility

جداشمار دیدپذیری
visibility.
نامانگلیسیگونهتوضیح
دیدنیVisibleمقدار visible.
نادیدنیHiddenمقدار hidden.
جمع شدهCollapseمقدار collapse.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ترازمتن TextAlign

جداشمار ترازمتن
text-align؛ آغاز و انتها پیرو جهت‌اند.
نامانگلیسیگونهتوضیح
متن از آغازStartمقدار start.
متن از انتهاEndمقدار end.
متن چپ چینLeftمقدار left.
متن راست چینRightمقدار right.
متن وسط چینCenterمقدار center.
متن هم ترازJustifyمقدار justify.
متن مانند والدMatchParentمقدار match-parent.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

دگرگونی‌متن TextTransform

جداشمار دگرگونی‌متن
text-transform.
نامانگلیسیگونهتوضیح
بی دگرگونیNoneمقدار none.
حرف نخست بزرگCapitalizeمقدار capitalize.
همه حروف بزرگUppercaseمقدار uppercase.
همه حروف کوچکLowercaseمقدار lowercase.
پهنای کاملFullWidthمقدار full-width.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

فضای‌سفید WhiteSpace

جداشمار فضای‌سفید
white-space.
نامانگلیسیگونهتوضیح
فاصله معمولیNormalمقدار normal.
فاصله پیش قالبPreمقدار pre.
فاصله بی شکستNoWrapمقدار nowrap.
فاصله پیش قالب شکستنیPreWrapمقدار pre-wrap.
فاصله خطوط نگه داشتهPreLineمقدار pre-line.
فاصله شکستن فاصله هاBreakSpacesمقدار break-spaces.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

سبک‌قلم FontStyle

جداشمار سبک‌قلم
font-style.
نامانگلیسیگونهتوضیح
قلم معمولیNormalمقدار normal.
قلم ایتالیکItalicمقدار italic.
قلم مایلObliqueمقدار oblique.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

نوع‌تصویر ImageKind

جداشمار نوع‌تصویر
تصویر یک لایه‌ی پس‌زمینه چیست.
نامانگلیسیگونهتوضیح
بی تصویرNoneبدون تصویر.
تصویر نشانیUrlتصویر url().
گرادیان خطیLinearگرادیان خطی.
گرادیان شعاعیRadialگرادیان شعاعی.
گرادیان مخروطیConicگرادیان مخروطی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

شکل‌شعاعی RadialShape

جداشمار شکل‌شعاعی
شکل گرادیان شعاعی.
نامانگلیسیگونهتوضیح
شکل بیضیEllipseمقدار ellipse.
شکل دایرهCircleمقدار circle.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

گستره‌شعاعی RadialExtent

جداشمار گستره‌شعاعی
اندازه‌ی گرادیان شعاعی.
نامانگلیسیگونهتوضیح
دورترین گوشهFarthestCornerمقدار farthest-corner.
دورترین ضلعFarthestSideمقدار farthest-side.
نزدیک ترین گوشهClosestCornerمقدار closest-corner.
نزدیک ترین ضلعClosestSideمقدار closest-side.
گستره صریحExplicitشعاع‌ها به صورت درازا داده شده‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

نوع‌ابعاد SizeKind

جداشمار نوع‌ابعاد
حالت background-size.
نامانگلیسیگونهتوضیح
ابعاد صریحExplicitپهنا و بلندی داده شده (هر یک می‌تواند خودکار باشد).
ابعاد پوشانندهCoverمقدار cover.
ابعاد گنجانندهContainمقدار contain.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

کاشی‌پس‌زمینه Repeat

جداشمار کاشی‌پس‌زمینه
background-repeat در هر محور.
نامانگلیسیگونهتوضیح
کاشی شوندهRepeatمقدار repeat.
بدون کاشیNoRepeatمقدار no-repeat.
کاشی با فاصلهSpaceمقدار space.
کاشی گرد شدهRoundمقدار round.
کشیدنStretchمقدار stretch در border-image-repeat.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ناحیه‌جعبه BoxArea

جداشمار ناحیه‌جعبه
جعبه‌ای برای background-clip و background-origin.
نامانگلیسیگونهتوضیح
ناحیه مرزBorderBoxمقدار border-box.
ناحیه فاصله داخلیPaddingBoxمقدار padding-box.
ناحیه محتواContentBoxمقدار content-box.
ناحیه متنTextمقدار text.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

نوع‌تبدیل TransformKind

جداشمار نوع‌تبدیل
یک تابع تبدیل.
نامانگلیسیگونهتوضیح
جابجایی تبدیلTranslatetranslate() و شکل‌های محوری آن.
مقیاس تبدیلScalescale()؛ چرخش‌های سه‌بعدی و پرسپکتیو به صورت مقیاس یک نگه داشته می‌شوند.
چرخش تبدیلRotaterotate().
کجی تبدیلSkewskew()، skewX() و skewY().
تبدیل ماتریسیMatrixmatrix() یا بخش دوبعدی matrix3d().

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

نوع‌زمان‌بندی TimingKind

جداشمار نوع‌زمان‌بندی
نوع تابع زمان‌بندی.
نامانگلیسیگونهتوضیح
زمان بندی خطیLinearمقدار linear.
منحنی بزیهCubicBezierمنحنی بزیه‌ی مکعبی.
زمان بندی پله ایStepssteps().

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

جای‌پله StepPosition

جداشمار جای‌پله
جای پرش steps().
نامانگلیسیگونهتوضیح
پرش انتهاJumpEndمقدار jump-end.
پرش آغازJumpStartمقدار jump-start.
بی پرشJumpNoneمقدار jump-none.
پرش دو سوJumpBothمقدار jump-both.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

سبک‌آرایه DecorationStyle

جداشمار سبک‌آرایه
text-decoration-style.
نامانگلیسیگونهتوضیح
آرایه یکپارچهSolidمقدار solid.
آرایه دوخطیDoubleمقدار double.
آرایه نقطه چینDottedمقدار dotted.
آرایه خط چینDashedمقدار dashed.
آرایه موجیWavyمقدار wavy.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

جای‌نشانه ListPosition

جداشمار جای‌نشانه
list-style-position.
نامانگلیسیگونهتوضیح
نشانه بیرونOutsideمقدار outside.
نشانه درونInsideمقدار inside.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

شناوری Float

جداشمار شناوری
float با مقدارهای منطقی حل‌شده.
نامانگلیسیگونهتوضیح
بی شناوریNoneمقدار none.
شناور چپLeftمقدار left.
شناور راستRightمقدار right.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

پاک‌سازی‌شناور Clear

جداشمار پاک‌سازی‌شناور
clear.
نامانگلیسیگونهتوضیح
پاک سازی هیچNoneمقدار none.
پاک سازی چپLeftمقدار left.
پاک سازی راستRightمقدار right.
پاک سازی دو سوBothمقدار both.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ترازعمودی VerticalAlign

جداشمار ترازعمودی
vertical-align.
نامانگلیسیگونهتوضیح
عمودی خط پایهBaselineمقدار baseline.
عمودی زیرنویسSubمقدار sub.
عمودی بالانویسSuperمقدار super.
عمودی بالاTopمقدار top.
عمودی بالای متنTextTopمقدار text-top.
عمودی میانهMiddleمقدار middle.
عمودی پایینBottomمقدار bottom.
عمودی پایین متنTextBottomمقدار text-bottom.
عمودی با درازاLengthدرازا یا درصدی در درازای ترازبندی عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

شکست‌واژه WordBreak

جداشمار شکست‌واژه
word-break.
نامانگلیسیگونهتوضیح
شکست معمولیNormalمقدار normal.
شکست همهBreakAllمقدار break-all.
نگه داشتن همهKeepAllمقدار keep-all.
شکست واژه بلندBreakWordمقدار break-word.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

شکست‌سرریز OverflowWrap

جداشمار شکست‌سرریز
overflow-wrap.
نامانگلیسیگونهتوضیح
سرریز معمولیNormalمقدار normal.
سرریز همه جاAnywhereمقدار anywhere.
سرریز شکست واژهBreakWordمقدار break-word.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

سرریزمتن TextOverflow

جداشمار سرریزمتن
text-overflow.
نامانگلیسیگونهتوضیح
متن بریدهClipمقدار clip.
سه نقطهEllipsisمقدار ellipsis.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ادغام‌مرز BorderCollapse

جداشمار ادغام‌مرز
border-collapse.
نامانگلیسیگونهتوضیح
مرز جداSeparateمقدار separate.
مرز ادغامیCollapseمقدار collapse.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

چینش‌جدول TableLayout

جداشمار چینش‌جدول
table-layout.
نامانگلیسیگونهتوضیح
چینش خودکارAutoمقدار auto.
چینش ثابتFixedمقدار fixed.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

گزینش‌کاربر UserSelect

جداشمار گزینش‌کاربر
user-select.
نامانگلیسیگونهتوضیح
گزینش خودکارAutoمقدار auto.
گزینش هیچNoneمقدار none.
گزینش متنTextمقدار text.
گزینش یکجاAllمقدار all.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

طرح‌رنگ ColorScheme

جداشمار طرح‌رنگ
color-scheme.
نامانگلیسیگونهتوضیح
طرح معمولیNormalمقدار normal.
طرح روشنLightمقدار light.
طرح تیرهDarkمقدار dark.
طرح روشن تیرهLightDarklight dark: پیرو طرح سیستم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

جاگیری‌شیء ObjectFit

جداشمار جاگیری‌شیء
object-fit.
نامانگلیسیگونهتوضیح
جاگیری پرکردنFillمقدار fill.
جاگیری گنجاندنContainمقدار contain.
جاگیری پوشاندنCoverمقدار cover.
جاگیری هیچNoneمقدار none.
جاگیری کوچک کردنScaleDownمقدار scale-down.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

رنگ‌سی‌اس‌اس Color

ساختار رنگ‌سی‌اس‌اس
یک رنگ با قرمز، سبز، آبی و آلفای ۸ بیتی ساده (پیش‌ضرب‌نشده).
نامانگلیسیگونهتوضیح
قرمزrصحیح = 0قرمز، ۰ تا ۲۵۵.
سبزgصحیح = 0سبز، ۰ تا ۲۵۵.
آبیbصحیح = 0آبی، ۰ تا ۲۵۵.
آلفاaصحیح = 255آلفا، از ۰ (شفاف) تا ۲۵۵ (مات).
رنگ قدیمیlegacyمنطقی = درستآیا رنگ به صورت هش، نام، rgb()، hsl() یا hwb() نوشته شده است. گذار و گرادیان میان رنگ‌های قدیمی در sRGB می‌ماند و هر رنگ دیگری آن‌ها را به Oklab می‌برد.
gui-css-values.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع ریشه:
    ناپایا c := سی اس اس.رنگ‌سی‌اس‌اس {}
    ok := سی اس اس.تجزیه رنگ("hsl(210 80% 50% / 0.5)"، c)
    t := سی اس اس.متن رنگ(c)
    سرچاپ ok، c.قرمز، c.سبز، c.آبی، c.آلفا، t
    حافظه.آزادسازی(t برگردان تهی*)
    ناپایا ds := سی اس اس.تجزیه اعلان ها("margin: 4px 8px; color: red !important; --x: 1")
    تکرار ds.طول() در i:
        d := ds[i]
        سرچاپ d.نام اعلان، d.مقدار اعلان، d.مهم
    پایان
    سی اس اس.آزادسازی اعلان ها(ds)
    sp := سی اس اس.ویژگی مندی گزینشگر("#nav .item:hover > a")
    سرچاپ "specificity"، sp.شمار شناسه ها، sp.شمار کلاس ها، sp.شمار نوع ها
    env := سی اس اس.محیط { پهنای پنجره = 500.0، بلندی پنجره = 800.0 }
    سرچاپ "media"، سی اس اس.تطبیق رسانه("(max-width: 600px) and (orientation: portrait)"، env)
    ease := سی اس اس.زمان‌بندی {}
    سرچاپ "ease"، ease.قسم زمان بندی، ease.ایکس یک، ease.ایگرگ یک، ease.ایکس دو، ease.ایگرگ دو، ease.شمار پله ها، ease.جای پرش، سی اس اس.مقدار تسهیل(ease، 0.5) بزرگتر 0.8
    steps := سی اس اس.زمان‌بندی { قسم زمان بندی = سی اس اس.نوع‌زمان‌بندی.Steps، شمار پله ها = 4، جای پرش = سی اس اس.جای‌پله.JumpEnd }
    سرچاپ "steps"، سی اس اس.مقدار تسهیل(steps، 0.6)
    ناپایا sheet := سی اس اس.برگه تازه()
    دیرکن sheet.آزادسازی برگه()
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    els.بیفزا(سی اس اس.عنصر تازه("page"، -1))
    ناپایا box := سی اس اس.عنصر تازه("box"، 0)
    box.اعلان های پایه = "width: calc(100% - 2em); height: min(50vh, 300px); border-radius: 20px / 10px; transform: translate(10px, 0) rotate(90deg); font-family: Vazirmatn, Tahoma, sans-serif; display: flex; padding: 1em"
    els.بیفزا(box)
    _n := sheet.محاسبه سبک ها(els، env)
    cs := sheet.سبک عنصر(1)
    w := cs.پهنا
    wtext := سی اس اس.متن درازا(w)
    سرچاپ "width"، wtext، w.قسم درازا، w.پیکسل درازا، w.درصد درازا، w.درصد دارد، w.عبارت محاسبه.طول() برابر 0، سی اس اس.حل درازا(w، 300.0)
    حافظه.آزادسازی(wtext برگردان تهی*)
    سرچاپ "needs basis"، سی اس اس.نیاز به پایه(cs)
    b := سی اس اس.به جعبه(cs)
    bi := سی اس اس.به جعبه درون(cs، 300.0، 200.0)
    سرچاپ "box"، b.نمایش، b.پهنا.قسم درازا، bi.پهنا.مقدار درازا، bi.بلندی.مقدار درازا
    m := سی اس اس.ماتریس تبدیل(cs، 100.0، 40.0)
    سرچاپ "matrix"، m.خانه الف، m.خانه ب، m.خانه پ، m.خانه ت، m.خانه ث، m.خانه ج
    r := سی اس اس.شعاع های به کار رفته(cs، 30.0، 40.0)
    سرچاپ "radii"، r.بالا چپ افقی، r.بالا چپ عمودی، r.بالا راست افقی، r.بالا راست عمودی، r.پایین راست افقی، r.پایین راست عمودی، r.پایین چپ افقی، r.پایین چپ عمودی
    ناپایا fams := سی اس اس.خانواده های قلم(cs)
    سرچاپ "families"، fams.طول()، fams[0]، fams[2]
    fams.آزادکن()
    v := سی اس اس.متن مقدار(cs، "border-top-left-radius")
    سرچاپ "value text"، v
    حافظه.آزادسازی(v برگردان تهی*)
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
پایان
خروجیtrue 26 128 230 128 rgba(26, 128, 230, 0.5) margin-top 4px false margin-right 8px false margin-bottom 4px false margin-left 8px false color red true --x 1 false specificity 1 2 1 media true ease 1 0.25 0.1 0.25 1 1 0 true steps 0.5 width calc(100% - 32px) 1 -32 100 true true 268 needs basis true box 3 1 268 300 matrix 0 1 -1 0 80 -30 radii 15 7.5 15 7.5 15 7.5 15 7.5 families 3 Vazirmatn sans-serif value text 20px 10px

درازای‌سی‌اس‌اس Len

ساختار درازای‌سی‌اس‌اس
یک درازای محاسبه‌شده: پیکسل، درصدی که هنوز باید حل شود، هر دو، عبارت calc() که آن‌ها را غیرخطی می‌آمیزد، یا کلیدواژه‌ای مانند auto.
نامانگلیسیگونهتوضیح
قسم درازاkindنوع‌درازاآیا این یک درازاست یا یک کلیدواژه.
پیکسل درازاpxاعشار۶۴ = 0بخش پیکسلی.
درصد درازاpctاعشار۶۴ = 0بخش درصدی، ۵۰ برای ۵۰٪.
درصد داردhas_pctمنطقی = نادرستآیا بخش درصدی دارد.
عبارت محاسبهcalcرشته = ""عبارت min()، max() یا calc() با پیکسل و درصد وقتی مقدار خطی نیست؛ با حل درازا حلش کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

گوشه Corner

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ضلع‌مرز BorderSide

ساختار ضلع‌مرز
پهنا، سبک و رنگ یک ضلع مرز یا خط دور.
نامانگلیسیگونهتوضیح
پهنای ضلعwidthاعشار۶۴ = 0پهنا به پیکسل؛ وقتی سبک هیچ یا پنهان است صفر است و مانند کرومیوم به پیکسل کامل گرد می‌شود.
سبک ضلعstyleسبک‌مرزسبک خط.
رنگ ضلعcolorرنگ‌سی‌اس‌اسرنگ، با currentColor حل‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

سایه Shadow

ساختار سایه
یک سایه‌ی جعبه یا متن.
نامانگلیسیگونهتوضیح
جابجایی افقی سایهxاعشار۶۴ = 0جابجایی افقی به پیکسل.
جابجایی عمودی سایهyاعشار۶۴ = 0جابجایی عمودی به پیکسل.
تاری سایهblurاعشار۶۴ = 0شعاع تاری به پیکسل.
گسترش سایهspreadاعشار۶۴ = 0گسترش به پیکسل؛ برای سایه‌ی متن همیشه صفر.
رنگ سایهcolorرنگ‌سی‌اس‌اسرنگ.
سایه داخلیinsetمنطقی = نادرستآیا سایه‌ی درونی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ایستگاه‌رنگ ColorStop

ساختار ایستگاه‌رنگ
یک ایستگاه رنگ یا راهنمای رنگ در گرادیان.
نامانگلیسیگونهتوضیح
رنگ ایستگاهcolorرنگ‌سی‌اس‌اسرنگ ایستگاه.
جای ایستگاهposدرازای‌سی‌اس‌اسجای ایستگاه؛ در گرادیان مخروطی بخش پیکسلی درجه است.
جای داردhas_posمنطقی = نادرستآیا جایی داده شده.
راهنمای میانیhintمنطقی = نادرستآیا این فقط جایی است که نقطه‌ی میانی دو رنگ را جابجا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

لایه‌پس‌زمینه BgLayer

ساختار لایه‌پس‌زمینه
یک لایه‌ی پس‌زمینه: تصویرش و ویژگی‌های هر لایه.
نامانگلیسیگونهتوضیح
نوع تصویر لایهimageنوع‌تصویرتصویر چه چیزی است.
نشانی تصویرurlرشته = ""نشانی تصویر url().
گرادیان تکراریrepeatingمنطقی = نادرستآیا گرادیان تکرارشونده است.
زاویه گرادیانangleاعشار۶۴ = 180زاویه‌ی گرادیان خطی به درجه یا زاویه‌ی from گرادیان مخروطی.
سوی افقی گرادیانto_xصحیح = 0برای to یک گوشه: -1 چپ و 1 راست؛ وقتی زاویه به کار می‌رود صفر.
سوی عمودی گرادیانto_yصحیح = 0برای to یک گوشه: -1 بالا و 1 پایین.
شکل گرادیانshapeشکل‌شعاعیشکل گرادیان شعاعی.
گستره گرادیانextentگستره‌شعاعیکلیدواژه‌ی اندازه‌ی گرادیان شعاعی یا شعاع صریح.
شعاع افقی گرادیانradius_xدرازای‌سی‌اس‌اسشعاع افقی صریح.
شعاع عمودی گرادیانradius_yدرازای‌سی‌اس‌اسشعاع عمودی صریح.
مرکز افقی گرادیانcenter_xدرازای‌سی‌اس‌اسمرکز افقی گرادیان شعاعی یا مخروطی.
مرکز عمودی گرادیانcenter_yدرازای‌سی‌اس‌اسمرکز عمودی.
ایستگاه های رنگstopsوکتور<ایستگاه‌رنگ>ایستگاه‌های رنگ.
جای افقی لایهposition_xدرازای‌سی‌اس‌اسbackground-position-x.
جای عمودی لایهposition_yدرازای‌سی‌اس‌اسbackground-position-y.
ابعاد لایهsize_kindنوع‌ابعادcover، contain یا اندازه‌ی صریح.
پهنای لایهsize_wدرازای‌سی‌اس‌اسپهنای صریح یا خودکار.
بلندی لایهsize_hدرازای‌سی‌اس‌اسبلندی صریح یا خودکار.
کاشی افقی لایهrepeat_xکاشی‌پس‌زمینهتکرار افقی تصویر.
کاشی عمودی لایهrepeat_yکاشی‌پس‌زمینهتکرار عمودی تصویر.
برش لایهclipناحیه‌جعبهbackground-clip.
مبدأ لایهoriginناحیه‌جعبهbackground-origin.
فضای درون یابیinterpolationصحیح = 0فضای رنگی که گرادیان در آن میان‌یابی می‌شود، به صورت عدد: 0 srgb، 1 srgb-linear، 2 display-p3، 3 a98-rgb، 4 prophoto-rgb، 5 rec2020، 6 xyz-d50، 7 xyz-d65، 8 lab، 9 lch، 10 oklab، 11 oklch، 12 hsl، 13 hwb. بدون in، اگر همه‌ی ایستگاه‌ها رنگ قدیمی باشند srgb و گرنه oklab است.
روش درون یابی فامhue_interpolationصحیح = 0روش فام برای فضاهای قطبی: 0 کوتاه‌تر، 1 بلندتر، 2 افزایشی، 3 کاهشی.
فضای درون یابی نوشته شدهinterpolation_setمنطقی = نادرستآیا گرادیان فضای خود را با in نام برده است.
لایه ثابتfixedمنطقی = نادرستآیا background-attachment ثابت است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

تصویرلبه BorderImage

ساختار تصویرلبه
مقدار محاسبه‌شده‌ی border-image: تصویر، برش آن، پهنای کشیدن تکه‌ها، فاصله‌ی بیرون زدن از جعبه‌ی کادر و شیوه‌ی تکرار لبه‌ها.
نامانگلیسیگونهتوضیح
منبع تصویر لبهsourceلایه‌پس‌زمینهborder-image-source: یک لایه‌ی گرادیان یا url()، یا تصویری از نوع هیچ.
برش بالاslice_topدرازای‌سی‌اس‌اسبرش بالا: یک LenKind.Number به پیکسل تصویر یا درصدی از بلندی تصویر.
برش راستslice_rightدرازای‌سی‌اس‌اسبرش راست.
برش پایینslice_bottomدرازای‌سی‌اس‌اسبرش پایین.
برش چپslice_leftدرازای‌سی‌اس‌اسبرش چپ.
پرکردن میانهfillمنطقی = نادرستآیا border-image-slice واژه‌ی fill دارد، که میانه‌ی تصویر را هم می‌کشد.
پهنای تصویر بالاwidth_topدرازای‌سی‌اس‌اسborder-image-width بالا: عددی ضرب در پهنای کادر، یک درازا، درصدی از ناحیه‌ی تصویر کادر، یا auto.
پهنای تصویر راستwidth_rightدرازای‌سی‌اس‌اسپهنای راست.
پهنای تصویر پایینwidth_bottomدرازای‌سی‌اس‌اسپهنای پایین.
پهنای تصویر چپwidth_leftدرازای‌سی‌اس‌اسپهنای چپ.
بیرون زدگی بالاoutset_topدرازای‌سی‌اس‌اسborder-image-outset بالا: عددی ضرب در پهنای کادر، یا یک درازا.
بیرون زدگی راستoutset_rightدرازای‌سی‌اس‌اسبیرون زدگی راست.
بیرون زدگی پایینoutset_bottomدرازای‌سی‌اس‌اسبیرون زدگی پایین.
بیرون زدگی چپoutset_leftدرازای‌سی‌اس‌اسبیرون زدگی چپ.
تکرار افقی لبهrepeat_xکاشی‌پس‌زمینهشیوه‌ی تکرار لبه‌های بالا و پایین: stretch، repeat، round یا space.
تکرار عمودی لبهrepeat_yکاشی‌پس‌زمینهشیوه‌ی تکرار لبه‌های چپ و راست.
gui-css-BorderImage.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس

تابع ریشه:
    ناپایا برگه := سی اس اس.برگه تازه()
    دیرکن برگه.آزادسازی برگه()
    ناپایا عنصرها := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    ناپایا کارت := سی اس اس.عنصر تازه("box"، -۱)
    کارت.اعلان های پایه = "border: 8px solid; border-image: linear-gradient(45deg, red, blue) 30% fill / 2 / 4px round stretch; background: linear-gradient(90deg in oklch, oklch(70% 0.15 30), 25%, oklch(60% 0.12 250))"
    عنصرها.بیفزا(کارت)
    _n := برگه.محاسبه سبک ها(عنصرها، سی اس اس.محیط {})
    سبک := برگه.سبک عنصر(0)
    لبه := سبک.تصویر لبه
    سرچاپ "منبع:"، سی اس اس.متن مقدار(سبک، "border-image-source")
    سرچاپ "برش:"، سی اس اس.متن درازا(لبه.برش بالا)، سی اس اس.متن درازا(لبه.برش راست)، سی اس اس.متن درازا(لبه.برش پایین)، سی اس اس.متن درازا(لبه.برش چپ)، "پر"، لبه.پرکردن میانه
    سرچاپ "پهنا:"، لبه.پهنای تصویر بالا.قسم درازا برابر سی اس اس.نوع‌درازا.عدد بی واحد، لبه.پهنای تصویر بالا.پیکسل درازا، لبه.پهنای تصویر راست.پیکسل درازا، لبه.پهنای تصویر پایین.پیکسل درازا، لبه.پهنای تصویر چپ.پیکسل درازا
    سرچاپ "بیرون زدگی:"، سی اس اس.متن درازا(لبه.بیرون زدگی بالا)، سی اس اس.متن درازا(لبه.بیرون زدگی راست)، سی اس اس.متن درازا(لبه.بیرون زدگی پایین)، سی اس اس.متن درازا(لبه.بیرون زدگی چپ)
    سرچاپ "تکرار:"، لبه.تکرار افقی لبه برابر سی اس اس.کاشی‌پس‌زمینه.کاشی گرد شده، لبه.تکرار عمودی لبه برابر سی اس اس.کاشی‌پس‌زمینه.کشیدن، لبه.منبع تصویر لبه.نوع تصویر لایه برابر سی اس اس.نوع‌تصویر.گرادیان خطی
    لایه := سبک.لایه های پس زمینه[۰]
    سرچاپ "فضای گرادیان:"، لایه.فضای درون یابی، "فام:"، لایه.روش درون یابی فام، "نوشته شده:"، لایه.فضای درون یابی نوشته شده
    ناپایا ایستگاه‌ها := سی اس اس.ایستگاه های شیب(لایه، ۲۰۰.۰)
    نخست := ایستگاه‌ها[۰]
    واپسین := ایستگاه‌ها[ایستگاه‌ها.طول() - ۱]
    سرچاپ "ایستگاه‌ها هنگام کشیدن:"، ایستگاه‌ها.طول()، سی اس اس.متن رنگ(نخست.رنگ ایستگاه)، "در"، نخست.جای ایستگاه.پیکسل درازا، "تا"، سی اس اس.متن رنگ(واپسین.رنگ ایستگاه)، "در"، واپسین.جای ایستگاه.پیکسل درازا
    ایستگاه‌ها.آزادکن()
    ناپایا آ := سی اس اس.رنگ‌سی‌اس‌اس {}
    ناپایا ب := سی اس اس.رنگ‌سی‌اس‌اس {}
    _x := سی اس اس.تجزیه رنگ("oklch(70% 0.15 30)"، آ)
    _y := سی اس اس.تجزیه رنگ("oklch(60% 0.12 250)"، ب)
    میانه := سی اس اس.آمیختن رنگ ها(آ، ب، ۰.۵)
    سرچاپ "قدیمی:"، آ.رنگ قدیمی، "میانه‌ی گذار:"، سی اس اس.متن رنگ(میانه)
    عنصرها[۰].آزادسازی عنصر()
    عنصرها.آزادکن()
پایان
خروجیمنبع: linear-gradient(45deg, rgb(255, 0, 0), rgb(0, 0, 255)) برش: 30% 30% 30% 30% پر true پهنا: true 2 2 2 2 بیرون زدگی: 4px 4px 4px 4px تکرار: true true true فضای گرادیان: 11 فام: 0 نوشته شده: true ایستگاه‌ها هنگام کشیدن: 81 rgb(237, 118, 101) در 0 تا rgb(66, 132, 197) در 200 قدیمی: false میانه‌ی گذار: rgb(163, 132, 154)

کارکرد‌تبدیل TransformFn

ساختار کارکرد‌تبدیل
یک تابع از فهرست transform.
نامانگلیسیگونهتوضیح
قسم کارکرد تبدیلkindنوع‌تبدیلکدام تابع.
جابجایی افقیxدرازای‌سی‌اس‌اسجابجایی افقی translate.
جابجایی عمودیyدرازای‌سی‌اس‌اسجابجایی عمودی translate.
ضریب الفaاعشار۶۴ = 1مقیاس افقی، چرخش به درجه، کجی افقی به درجه یا خانه‌ی a ماتریس.
ضریب بbاعشار۶۴ = 0کجی عمودی به درجه یا خانه‌ی b ماتریس.
ضریب پcاعشار۶۴ = 0خانه‌ی c ماتریس.
ضریب تdاعشار۶۴ = 1مقیاس عمودی یا خانه‌ی d ماتریس.
ضریب ثeاعشار۶۴ = 0خانه‌ی e ماتریس.
ضریب جfاعشار۶۴ = 0خانه‌ی f ماتریس.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

کارکرد‌پالایه FilterFn

ساختار کارکرد‌پالایه
یک کارکرد از فهرست filter یا backdrop-filter.
نامانگلیسیگونهتوضیح
نام پالایهnameرشته = ""نام کارکرد: blur، brightness، contrast، grayscale، sepia، saturate، hue-rotate، invert، opacity یا drop-shadow.
مقدار پالایهamountاعشار۶۴ = 0اندازه: پیکسل برای blur، درجه برای hue-rotate و ضریب برای بقیه (درصد به کسر تبدیل می‌شود).
سایه پالایهshadowسایهسایه‌ی drop-shadow.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

ماتریس‌دوبعدی Matrix

ساختار ماتریس‌دوبعدی
ماتریس آفین دوبعدی [a c e; b d f]، مانند matrix() در CSS.
نامانگلیسیگونهتوضیح
خانه الفaاعشار۶۴ = 1سطر ۱، ستون ۱.
خانه بbاعشار۶۴ = 0سطر ۲، ستون ۱.
خانه پcاعشار۶۴ = 0سطر ۱، ستون ۲.
خانه تdاعشار۶۴ = 1سطر ۲، ستون ۲.
خانه ثeاعشار۶۴ = 0جابجایی افقی.
خانه جfاعشار۶۴ = 0جابجایی عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

زمان‌بندی Timing

ساختار زمان‌بندی
یک تابع زمان‌بندی: منحنی بزیه‌ی مکعبی (کلیدواژه‌هایی مانند ease به آن تبدیل می‌شوند)، linear یا steps(). پیش‌فرض ease است.
نامانگلیسیگونهتوضیح
قسم زمان بندیkindنوع‌زمان‌بندینوع تابع.
ایکس یکx1اعشار۶۴ = 0.25ایکس نقطه‌ی کنترل اول.
ایگرگ یکy1اعشار۶۴ = 0.1ایگرگ نقطه‌ی کنترل اول.
ایکس دوx2اعشار۶۴ = 0.25ایکس نقطه‌ی کنترل دوم.
ایگرگ دوy2اعشار۶۴ = 1ایگرگ نقطه‌ی کنترل دوم.
شمار پله هاstepsصحیح = 1شمار پله‌ها.
جای پرشstep_positionجای‌پلهجای پرش‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

گذار Transition

ساختار گذار
یک گذار یک عنصر.
نامانگلیسیگونهتوضیح
ویژگی گذارpropertyرشته = "all"نام ویژگی یا all.
مدت گذارdurationاعشار۶۴ = 0مدت به میلی‌ثانیه.
درنگ گذارdelayاعشار۶۴ = 0درنگ به میلی‌ثانیه.
زمان بندی گذارtimingزمان‌بندیتابع زمان‌بندی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam

شعاع‌ها Radii

ساختار شعاع‌ها
شعاع گوشه‌های به کار رفته به پیکسل، از شعاع های به کار رفته.
نامانگلیسیگونهتوضیح
بالا چپ افقیtop_left_xاعشار۶۴ = 0شعاع افقی گوشه‌ی بالا چپ.
بالا چپ عمودیtop_left_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی بالا چپ.
بالا راست افقیtop_right_xاعشار۶۴ = 0شعاع افقی گوشه‌ی بالا راست.
بالا راست عمودیtop_right_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی بالا راست.
پایین راست افقیbottom_right_xاعشار۶۴ = 0شعاع افقی گوشه‌ی پایین راست.
پایین راست عمودیbottom_right_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی پایین راست.
پایین چپ افقیbottom_left_xاعشار۶۴ = 0شعاع افقی گوشه‌ی پایین چپ.
پایین چپ عمودیbottom_left_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی پایین چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

ویژگی‌مندی Specificity

ساختار ویژگی‌مندی
ویژگی‌مندی یک گزینشگر: شناسه‌ها، سپس کلاس‌ها، ویژگی‌ها و شبه‌کلاس‌ها، سپس نوع‌ها.
نامانگلیسیگونهتوضیح
شمار شناسه هاidsصحیح = 0شمار گزینشگرهای شناسه.
شمار کلاس هاclassesصحیح = 0شمار گزینشگرهای کلاس، ویژگی و شبه‌کلاس.
شمار نوع هاtypesصحیح = 0شمار گزینشگرهای نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

اعلان Declaration

ساختار اعلان
یک اعلان تجزیه‌شده.
نامانگلیسیگونهتوضیح
نام اعلانnameرشته = ""نام ویژگی، پس از باز کردن یک ویژگی بلند.
مقدار اعلانvalueرشته = ""متن مقدار.
مهمimportantمنطقی = نادرستآیا با !important علامت خورده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

محیط Env

ساختار محیط
آنچه پرسش‌های رسانه و یکاهای پنجره می‌بینند: اندازه‌ی پنجره، طرح رنگ، حرکت کمتر، توانایی‌های اشاره‌گر و جهت و زبان صفحه.
نامانگلیسیگونهتوضیح
پهنای پنجرهwidthاعشار۶۴ = 1024پهنای پنجره به پیکسل.
بلندی پنجرهheightاعشار۶۴ = 768بلندی پنجره به پیکسل.
حالت تیرهdarkمنطقی = نادرستآیا سیستم طرح رنگ تیره دارد.
حرکت کمترreduced_motionمنطقی = نادرستآیا کاربر حرکت کمتر خواسته.
اشاره گر شناورhoverمنطقی = درستآیا اشاره‌گر اصلی می‌تواند شناور شود.
اشاره گر دقیقfine_pointerمنطقی = درستآیا اشاره‌گر اصلی دقیق است، مانند موش.
جهت صفحهdirرشته = "ltr"جهت صفحه روی ریشه، ltr یا rtl.
زبان صفحهlangرشته = "en"زبان صفحه روی ریشه.
gui-css-Sheet.salam
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه

تابع ریشه:
    ناپایا sheet := سی اس اس.برگه تازه()
    دیرکن sheet.آزادسازی برگه()
    سرچاپ "rules"، sheet.شمار قاعده ها() بزرگتر 100
    _a := sheet.افزودن قاعده(".card > p:first-child"، "color: #334155; margin: 0 0 8px")
    _b := sheet.افزودن قاعده رسانه("(max-width: 600px)"، ".card"، "padding: 8px")
    سرچاپ "css rules"، sheet.افزودن سی اس اس("@media (prefers-color-scheme: dark) { body { background: #111 } } a:hover { color: red }")
    ناپایا els := وکتور {} برگردان وکتور<سی اس اس.عنصر>
    ناپایا body := سی اس اس.عنصر تازه("page"، -1)
    body.اعلان های پایه = "font-family: Vazirmatn, sans-serif; --gap: 12px"
    els.بیفزا(body)
    ناپایا card := سی اس اس.عنصر تازه("box"، 0)
    card.شناسه عنصر = "main"
    card.کلاس های عنصر = "card"
    card.اعلان های پایه = "display: flex; gap: var(--gap); padding: 16px"
    card.افزودن رسانه("(min-width: 1200px)"، "padding: 32px")
    els.بیفزا(card)
    ناپایا p := سی اس اس.عنصر تازه("paragraph"، 1)
    p.افزودن ویژگی("lang"، "en")
    els.بیفزا(p)
    ناپایا link := سی اس اس.عنصر تازه("link"، 1)
    link.افزودن ویژگی("href"، "/next")
    link.اعلان های اشاره = "text-decoration: none"
    link.اعلان های تمرکز = "outline: 2px solid blue"
    link.اعلان های فشردن = "color: purple"
    els.بیفزا(link)
    سرچاپ "tag"، link.برچسب عنصر، link.کلید عنصر، link.والد عنصر، link.ویژگی دارد("href")
    env := سی اس اس.محیط { پهنای پنجره = 800.0، بلندی پنجره = 600.0، حالت تیره = نادرست، حرکت کمتر = نادرست، اشاره گر شناور = درست، اشاره گر دقیق = درست، جهت صفحه = "ltr"، زبان صفحه = "en" }
    سرچاپ "distinct"، sheet.محاسبه سبک ها(els، env)، "elements"، sheet.شمار عنصرها()
    cs := sheet.سبک عنصر(2)
    سرچاپ "p"، سی اس اس.متن مقدار(cs، "color")، سی اس اس.متن مقدار(cs، "margin-top")، سی اس اس.متن مقدار(cs، "margin-bottom")
    سرچاپ "card"، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "column-gap")، سی اس اس.متن مقدار(sheet.سبک عنصر(1)، "padding-top")
    سرچاپ "root"، سی اس اس.متن مقدار(sheet.سبک ریشه()، "display")، "same style"، sheet.شناسه سبک(2) برابر sheet.شناسه سبک(2)
    g := sheet.متغیر سفارشی(2، "--gap")
    سرچاپ "var"، g
    حافظه.آزادسازی(g برگردان تهی*)
    سرچاپ "matches"، sheet.تطبیق گزینشگر("#main > a[href]"، els، 3)
    top := سی اس اس.زنجیره اشاره(els، 3)
    سرچاپ "hovered"، els[3].زیر اشاره، els[1].زیر اشاره، "restyled"، sheet.سبک دهی دوباره(els، top)
    سرچاپ "after hover"، سی اس اس.متن مقدار(sheet.سبک عنصر(3)، "text-decoration-line")، "cascades"، sheet.شمار آبشارها()، "distinct"، sheet.شمار سبک های یکتا()
    ناپایا l2 := els.ارجاع(3)
    l2.دارای تمرکز = درست
    l2.تمرکز نمایان = درست
    l2.فشرده = درست
    _r := sheet.سبک دهی دوباره(els، 3)
    سرچاپ "focus"، سی اس اس.متن مقدار(sheet.سبک عنصر(3)، "outline-style")، سی اس اس.متن مقدار(sheet.سبک عنصر(3)، "color")
    ناپایا bare := سی اس اس.برگه خالی()
    دیرکن bare.آزادسازی برگه()
    سرچاپ "empty"، bare.شمار قاعده ها()، "defaults added"، bare.افزودن پیش فرض ها() بزرگتر 0
    ua := سی اس اس.سی اس اس پیش فرض()
    سرچاپ "default css bytes"، ua.طول() بزرگتر 1000، سی اس اس.برچسب نوع("ordered list")
    حافظه.آزادسازی(ua برگردان تهی*)
    سرچاپ "media"، env.پهنای پنجره، env.بلندی پنجره، env.حالت تیره، env.حرکت کمتر، env.اشاره گر شناور، env.اشاره گر دقیق، env.جهت صفحه، env.زبان صفحه، "[" + link.شناسه عنصر + "]"، "[" + link.کلاس های عنصر + "]"، "[" + link.اعلان های پایه + "]"
    تکرار els.طول() در i:
        ناپایا x := els.ارجاع(i)
        سرچاپ i، x.نام ویژگی ها.طول()، x.مقدار ویژگی ها.طول()، x.شرط های رسانه.طول()، x.اعلان های رسانه.طول()
        x.آزادسازی عنصر()
    پایان
    els.آزادکن()
پایان
خروجیrules true css rules 2 tag a link 1 true distinct 5 elements 4 p rgb(51, 65, 85) 0px 8px card 12px 16px root block same style true var 12px matches true hovered true true restyled 3 after hover none cascades 6 distinct 6 focus solid rgb(128, 0, 128) empty 0 defaults added true default css bytes true ol media 800 600 false false true true ltr en [] [] [] 0 0 0 0 0 1 0 0 1 1 2 1 1 0 0 3 1 1 0 0

عنصر Element

ساختار عنصر
آنچه زمان اجرا از یک عنصر می‌داند: کلید صفحه، برچسب، شناسه، کلاس‌ها، ویژگی‌ها، والد، اعلان‌هایی که سازنده برایش می‌نویسد و حالت تعاملش.
نامانگلیسیگونهتوضیح
کلید عنصرkindرشته = "box"کلید عنصر صفحه، مانند paragraph.
برچسب عنصرtagرشته = "div"برچسب HTML که گزینشگرهای نوع با آن جور می‌شوند.
شناسه عنصرidرشته = ""شناسه.
کلاس های عنصرclassesرشته = ""نام کلاس‌ها، جداشده با فاصله.
والد عنصرparentصحیح = -1شماره‌ی والد، یا -1 برای صفحه.
اعلان های پایهbaseرشته = ""اعلان‌های خود عنصر؛ مانند یک قاعده‌ی کلاس که پس از قاعده‌های سراسری نوشته شده در آبشار شرکت می‌کنند.
سبک درون خطیinline_styleرشته = ""ویژگی style عنصر. مانند سبک درون‌خطی در مرورگر، بدون توجه به ویژگی‌مندی بر همه‌ی قاعده‌های نویسنده پیروز می‌شود؛ فقط قاعده‌های !important نویسنده بر آن چیره می‌شوند.
اعلان های اشارهhoverرشته = ""اعلان‌های :hover.
اعلان های تمرکزfocusرشته = ""اعلان‌های :focus.
اعلان های فشردنactiveرشته = ""اعلان‌های :active.
زیر اشارهhoveredمنطقی = نادرستآیا عنصر با :hover جور است.
دارای تمرکزfocusedمنطقی = نادرستآیا تمرکز دارد.
تمرکز نمایانfocus_visibleمنطقی = نادرستآیا تمرکز باید حلقه نشان دهد (تمرکز صفحه‌کلید)؛ تمرکز هم شمرده می‌شود.
فشردهpressedمنطقی = نادرستآیا با :active جور است.
نام ویژگی هاattr_namesوکتور<رشته>نام ویژگی‌ها، برای گزینشگرهای ویژگی و شبه‌کلاس‌هایی مانند :checked.
مقدار ویژگی هاattr_valuesوکتور<رشته>مقدار ویژگی‌ها به همان ترتیب.
شرط های رسانهmedia_conditionsوکتور<رشته>شرط‌های رسانه‌ی فرزندان media عنصر.
اعلان های رسانهmedia_declarationsوکتور<رشته>اعلان‌های هر شرط رسانه به همان ترتیب.
شناسه اعلان پایهdecl_baseصحیح = -1شناسه‌ی فهرست اعلان خود عنصر در برنامه‌ی ترجمه‌شده‌ی برگه، یا -1 برای به کار بردن اعلان های پایه.
شناسه اعلان اشارهdecl_hoverصحیح = -1شناسه‌ی فهرست اعلان ترجمه‌شده برای :hover، یا -1.
شناسه اعلان تمرکزdecl_focusصحیح = -1شناسه‌ی فهرست اعلان ترجمه‌شده برای :focus، یا -1.
شناسه اعلان فشردنdecl_activeصحیح = -1شناسه‌ی فهرست اعلان ترجمه‌شده برای :active، یا -1.
شناسه های اعلان زمان اجراdecl_dynوکتور<صحیح>شناسه‌های فهرست‌هایی که اعلان زمان اجرا برای مقدارهای زمان اجرا می‌سازد؛ پس از اعلان‌های خود عنصر اعمال می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن ویژگی AddAttr

تابع افزودن ویژگی(name: رشته، value: رشته)
یک ویژگی می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن رسانه AddMedia

تابع افزودن رسانه(condition: رشته، declarations: رشته)
اعلان‌هایی می‌افزاید که تا شرط رسانه برقرار است اعمال می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

ویژگی دارد HasAttr

تابع ویژگی دارد(name: رشته): منطقی
آیا عنصر یک ویژگی را دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

آزادسازی عنصر Free

تابع آزادسازی عنصر()
وکتورهای عنصر را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

برگه‌سبک Sheet

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن قاعده AddRule

تابع افزودن قاعده(selector: رشته، declarations: رشته): منطقی
یک قاعده‌ی نویسنده می‌افزاید: فهرستی از گزینشگرها و یک بلوک اعلان مانند "color: red; margin: 0". اگر گزینشگر پشتیبانی نشود نادرست برمی‌گرداند و قاعده مانند مرورگر کنار گذاشته می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن قاعده رسانه AddMediaRule

تابع افزودن قاعده رسانه(condition: رشته، selector: رشته، declarations: رشته): منطقی
قاعده‌ای می‌افزاید که فقط وقتی شرط رسانه‌ای مانند (max-width: 600px) برای محیط داده‌شده به محاسبه برقرار است اعمال می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن سی اس اس AddCss

تابع افزودن سی اس اس(text: رشته): صحیح
یک برگه‌ی سبک کامل را با بلوک‌های @media تجزیه می‌کند و شمار قاعده‌های افزوده‌شده را برمی‌گرداند. بلوک‌های @supports و @layer گویی برقرارند خوانده می‌شوند و دیگر قاعده‌های @ نادیده گرفته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

شمار قاعده ها RuleCount

تابع شمار قاعده ها(): صحیح
شمار قاعده‌های برگه، یکی برای هر گزینشگر هر فهرست، همراه با قاعده‌های پیش‌فرض.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

محاسبه سبک ها Compute

تابع محاسبه سبک ها(elements &: وکتور<عنصر>، env: محیط): صحیح
سبک همه‌ی عنصرها را برای یک پنجره محاسبه می‌کند و شمار سبک‌های یکتا را برمی‌گرداند. عنصرها باید به ترتیب سند و هر یک پس از والدش بیایند؛ عنصرهایی با ورودی یکسان یک سبک مشترک دارند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

سبک دهی دوباره Restyle

تابع سبک دهی دوباره(elements &: وکتور<عنصر>، index: صحیح): صحیح
پس از تغییر پرچم‌های اشاره، تمرکز و فشردن یا اعلان‌های یک عنصر، همان عنصر، هر عنصری که پرچمش تغییر کرده و در صورت تغییر مقدارهای ارثی فرزندانشان را دوباره محاسبه می‌کند. شمار عنصرهای محاسبه‌شده را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

تنظیم طرح رنگ SetColorScheme

تابع تنظیم طرح رنگ(elements &: وکتور<عنصر>، dark: منطقی): صحیح
برگه را پس از تغییر طرح رنگ سیستم عامل به طرح تیره (درست) یا روشن می‌برد و فقط چیزهایی را که به آن وابسته‌اند دوباره سبک می‌دهد: عنصرهایی که قاعده‌هایشان light-dark()، یک رنگ سامانه، color-scheme یا var() دارند، عنصرهایی که یک قاعده‌ی prefers-color-scheme با نتیجه‌ی تازه به آن‌ها می‌خورد، و فرزندان هر عنصری که سبکش تغییر کرده است. شمار عنصرهای دوباره محاسبه‌شده را برمی‌گرداند، یا 0 وقتی طرح تغییر نکرده باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

شمار عنصرها Count

تابع شمار عنصرها(): صحیح
شمار عنصرهای آخرین محاسبه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

سبک عنصر Style

تابع سبک عنصر(index: صحیح): سبک‌محاسبه‌شده
سبک محاسبه‌شده‌ی یک عنصر. وکتورهای آن مال برگه‌اند: آن‌ها را بخوانید، آزاد نکنید و پس از محاسبه‌ی بعدی نگه ندارید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

سبک ریشه RootStyle

تابع سبک ریشه(): سبک‌محاسبه‌شده
سبک محاسبه‌شده‌ی ریشه‌ی ضمنی html که صفحه را در بر دارد؛ قاعده‌های :root و ویژگی‌های سفارشی آن به همه‌ی عنصرها می‌رسند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

شناسه سبک StyleId

تابع شناسه سبک(index: صحیح): صحیح
شماره‌ی سبک یک عنصر در میان سبک‌های یکتا؛ دو عنصر با شناسه‌ی یکسان سبک محاسبه‌شده‌ی یکسان دارند. پیش از محاسبه -1 است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

شمار سبک های یکتا DistinctStyles

تابع شمار سبک های یکتا(): صحیح
شمار سبک‌های محاسبه‌شده‌ی یکتایی که برگه نگه می‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

شمار آبشارها CascadeCount

تابع شمار آبشارها(): صحیح
شمار اجرای آبشار از آخرین محاسبه؛ سبک‌های مشترک و یافته در حافظه‌ی نهان شمرده نمی‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

متغیر سفارشی Var

تابع متغیر سفارشی(index: صحیح، name: رشته): رشته
مقدار یک ویژگی سفارشی مانند --gap روی یک عنصر با var()‌های درونی حل‌شده، یا رشته‌ی خالی. فراخواننده نتیجه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

تطبیق گزینشگر Matches

تابع تطبیق گزینشگر(selector: رشته، elements &: وکتور<عنصر>، index: صحیح): منطقی
آیا یک فهرست گزینشگر با عنصری از وکتور جور است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

آزادسازی برگه Free

تابع آزادسازی برگه()
قاعده‌ها، حافظه‌های نهان و سبک‌های محاسبه‌شده را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن پیش فرض ها AddDefaults

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

افزودن برنامه AddProgram

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

تابع‌ها

کلیدواژه Kw

تابع کلیدواژه(text: رشته): تکه‌مقدار
تکه‌ی کلیدواژه، مانند auto یا solid.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

کلیدواژه با متن KwAs

تابع کلیدواژه با متن(text: رشته، raw: رشته): تکه‌مقدار
تکه‌ی کلیدواژه‌ای که نوشتار اصلی‌اش را نگه می‌دارد، برای نام قلم‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

عدد Num

تابع عدد(value: اعشار۶۴): تکه‌مقدار
تکه‌ی عددی با بخش اعشاری، مانند 1.5.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

عدد گرد Int

تابع عدد گرد(value: اعشار۶۴): تکه‌مقدار
تکه‌ی عددی که بی‌اعشار نوشته شده، مانند 2؛ برخی ویژگی‌ها فقط عدد بی‌اعشار می‌پذیرند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

کمیت با واحد Dim

تابع کمیت با واحد(value: اعشار۶۴، unit: رشته): تکه‌مقدار
عددی با واحد، مانند 12px یا 1.5em.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

درصد Pct

تابع درصد(value: اعشار۶۴): تکه‌مقدار
تکه‌ی درصد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

نشان هش Hash

تابع نشان هش(text: رشته): تکه‌مقدار
تکه‌ی هش مانند رنگ شانزده‌شانزدهی، بی #.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

متن نقل شده Str

تابع متن نقل شده(text: رشته): تکه‌مقدار
تکه‌ی رشته‌ی میان گیومه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

نشانی منبع Url

تابع نشانی منبع(text: رشته): تکه‌مقدار
تکه‌ی url() با نشانی‌اش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

آغاز کارکرد Fn

تابع آغاز کارکرد(name: رشته): تکه‌مقدار
تابعی مانند calc یا rgba را باز می‌کند؛ نام خالی پرانتز ساده باز می‌کند. با بستن پرانتز بسته می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

بستن پرانتز Close

تابع بستن پرانتز(): تکه‌مقدار
درونی‌ترین تابع یا پرانتز باز را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

ویرگول Comma

تابع ویرگول(): تکه‌مقدار
تکه‌ی ویرگول.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

جداکننده Delim

تابع جداکننده(code: صحیح، space: منطقی): تکه‌مقدار
تکه‌ی یک نویسه‌ی جداکننده مانند /، + یا : و اینکه پیش از آن فاصله آمده یا نه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

برنامه سبک تازه NewProgram

تابع برنامه سبک تازه(): برنامه‌سبک
یک برنامه‌ی سبک تازه و خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

ترجمه اعلان ها CompileDecls

تابع ترجمه اعلان ها(p &: برنامه‌سبک، text: رشته): صحیح
یک فهرست اعلان مانند "padding: 20px; border-radius: 8px" را ترجمه می‌کند و شناسه‌اش را برمی‌گرداند، یا -1 وقتی هیچ بخشی از آن درست نباشد. یک متن همیشه یک شناسه می‌گیرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

ترجمه قاعده CompileRule

تابع ترجمه قاعده(p &: برنامه‌سبک، selector: رشته، decls: رشته، media: رشته): منطقی
یک قاعده‌ی سراسری را ترجمه می‌کند: فهرست گزینشگر، اعلان‌ها و یک شرط رسانه (رشته‌ی خالی برای هیچ). اگر گزینشگر پشتیبانی نشود نادرست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

ترجمه سی اس اس CompileCss

تابع ترجمه سی اس اس(p &: برنامه‌سبک، text: رشته): صحیح
یک برگه‌ی سبک کامل را با بلوک‌های @media ترجمه می‌کند و شمار قاعده‌های خوانده‌شده را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

شمار خطاهای برنامه ProgramErrors

تابع شمار خطاهای برنامه(p: برنامه‌سبک): صحیح
شمار مشکل‌هایی که هنگام ترجمه پیدا شد: ویژگی‌های ناشناخته، مقدارهای نادرست و گزینشگرهای پشتیبانی‌نشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

خطای برنامه ProgramError

تابع خطای برنامه(p: برنامه‌سبک، index: صحیح): رشته
متن یک مشکل یافته‌شده هنگام ترجمه. آزادسازی نتیجه با فراخواننده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

متن برنامه سبک ProgramSource

تابع متن برنامه سبک(p: برنامه‌سبک، fn_name: رشته، css_pkg: رشته): رشته
متن سلام تابعی با نام داده‌شده که برنامه را از مقدارهای ثابت دوباره می‌سازد، با پیشوند بسته‌ی داده‌شده (css، رشته‌ی خالی درون همین بسته، یا نام فارسی بسته که نام‌ها را هم فارسی می‌کند). کلیدواژه‌ها انگلیسی‌اند. آزادسازی نتیجه با فراخواننده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

برگه از برنامه SheetFromProgram

تابع برگه از برنامه(p: برنامه‌سبک): برگه‌سبک
برگه‌ای با پیش‌فرض‌های مرورگر و قاعده‌های برنامه، آماده برای عنصرهایی که شناسه‌ی اعلان دارند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

اعلان زمان اجرا DynDecl

تابع اعلان زمان اجرا(p &: برنامه‌سبک، prop: رشته، value: رشته): صحیح
مقدار یک ویژگی را که فقط در زمان اجرا معلوم است ترجمه می‌کند و شناسه‌ی یک فهرست اعلان برای شناسه های اعلان زمان اجرا برمی‌گرداند، یا -1 وقتی مقدار نادرست باشد. هر مقدار یکتا یک بار تجزیه می‌شود. پیش از محاسبه افزودن برنامه را روی برگه فراخوانی کنید تا فهرست تازه را ببیند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam

برگه تازه NewSheet

تابع برگه تازه(): برگه‌سبک
برگه‌ای که با پیش‌فرض‌های مرورگر آغاز می‌شود؛ از روی html.css کرومیوم ساخته و با کرومیوم سنجیده شده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

برگه خالی EmptySheet

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

سی اس اس پیش فرض DefaultCss

تابع سی اس اس پیش فرض(): رشته
متن برگه‌ی سبک پیش‌فرض مرورگر. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

برچسب نوع TagOf

تابع برچسب نوع(kind: رشته): رشته
برچسب HTML که سازنده‌ی وب برای کلید یک عنصر صفحه به کار می‌برد، مانند p برای paragraph و div برای box. گزینشگرهای نوع با همین برچسب‌ها جور می‌شوند. فراخواننده نتیجه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

عنصر تازه NewElement

تابع عنصر تازه(kind: رشته، parent: صحیح): عنصر
توصیف عنصری تازه برای کلید یک عنصر صفحه و شماره‌ی والد (-1 برای خود صفحه)، با برچسب پرشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

زنجیره اشاره HoverChain

تابع زنجیره اشاره(elements &: وکتور<عنصر>، target: صحیح): صحیح
یک عنصر و نیاکانش را زیر اشاره علامت می‌زند و این پرچم را از بقیه برمی‌دارد، همان‌گونه که مرورگر با حرکت اشاره‌گر می‌کند. نخستین عنصری را که پرچمش تغییر کرد برای دادن به سبک دهی دوباره برمی‌گرداند، یا -1.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam

به جعبه ToBox

تابع به جعبه(cs: سبک‌محاسبه‌شده): جعبه سی اس اس.سبک
بخش چینش یک سبک محاسبه‌شده به شکل سبک gui.cssbox. درازایی که درصد و پیکسل را با هم دارد، مانند calc(100% - 2em)، آن‌جا بیان‌شدنی نیست؛ وقتی نیاز به پایه درست است از به جعبه درون استفاده کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

نیاز به پایه NeedsBasis

تابع نیاز به پایه(cs: سبک‌محاسبه‌شده): منطقی
آیا یکی از درازاهای چینش سبک درصد و پیکسل را با هم دارد، پس اندازه‌ی جعبه‌ی دربرگیرنده برای تبدیلش لازم است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

به جعبه درون ToBoxIn

تابع به جعبه درون(cs: سبک‌محاسبه‌شده، cb_width: اعشار۶۴، cb_height: اعشار۶۴): جعبه سی اس اس.سبک
مانند به جعبه، ولی درازاهای آمیخته را نسبت به جعبه‌ی دربرگیرنده‌ای با پهنا و بلندی داده‌شده حل می‌کند، همان‌گونه که چینش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

حل درازا Resolve

تابع حل درازا(l: درازای‌سی‌اس‌اس، basis: اعشار۶۴): اعشار۶۴
یک درازا به پیکسل، با درصدهایی که از پایه گرفته می‌شوند و calc()، min()، max() و clamp() ارزیابی‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

تجزیه رنگ ParseColor

تابع تجزیه رنگ(text: رشته، out &: رنگ‌سی‌اس‌اس): منطقی
یک رنگ CSS را تجزیه می‌کند: هگز با ۳، ۴، ۶ یا ۸ رقم، rgb()، rgba()، hsl()، hsla()، hwb() با نحو ویرگولی یا فاصله‌ای، light-dark()، رنگ‌های نام‌دار و سیستمی و transparent. اگر متن رنگ نباشد نادرست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

متن رنگ ColorText

تابع متن رنگ(c: رنگ‌سی‌اس‌اس): رشته
یک رنگ به شکل rgb(r, g, b) یا rgba(r, g, b, a)، همان‌گونه که مرورگر رنگ محاسبه‌شده را گزارش می‌کند. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

متن درازا LenText

تابع متن درازا(l: درازای‌سی‌اس‌اس): رشته
یک درازا به شکل متن CSS: 16px، 50%، calc(50% - 10px)، auto و مانند آن. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

تجزیه اعلان ها ParseDeclarations

تابع تجزیه اعلان ها(text: رشته): وکتور<اعلان>
یک بلوک اعلان را تجزیه می‌کند و اعلان‌هایش را با کوتاه‌نویسی‌های بازشده به ویژگی‌های بلند و بدون اعلان‌های نادرست برمی‌گرداند. نتیجه را با آزادسازی اعلان ها آزاد کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

آزادسازی اعلان ها FreeDeclarations

تابع آزادسازی اعلان ها(list &: وکتور<اعلان>)
وکتوری را که تجزیه اعلان ها برگردانده آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

ویژگی مندی گزینشگر SelectorSpecificity

تابع ویژگی مندی گزینشگر(selector: رشته): ویژگی‌مندی
ویژگی‌مندی یک فهرست گزینشگر (بیشترینِ گزینشگرهایش)؛ اگر گزینشگر پشتیبانی نشود همه‌ی فیلدها -1 هستند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

تطبیق رسانه MediaMatches

تابع تطبیق رسانه(condition: رشته، env: محیط): منطقی
آیا یک فهرست پرسش رسانه برای یک محیط برقرار است: پهنا، بلندی و شکل‌های کمینه، بیشینه و بازه‌ای آن‌ها، نسبت ابعاد، جهت، طرح رنگ، حرکت کمتر، شناوری و اشاره‌گر، پیوسته با and، or، not و ویرگول.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

مقدار تسهیل EasingAt

تابع مقدار تسهیل(t: زمان‌بندی، x: اعشار۶۴): اعشار۶۴
خروجی یک تابع زمان‌بندی برای پیشرفت ورودی میان ۰ و ۱، برای اجرای گذارها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

ماتریس تبدیل TransformMatrix

تابع ماتریس تبدیل(cs: سبک‌محاسبه‌شده، width: اعشار۶۴، height: اعشار۶۴): ماتریس‌دوبعدی
ماتریس دوبعدی translate، rotate، scale و transform یک عنصر برای جعبه‌ی مرزی با اندازه‌ی داده‌شده، گرد transform-origin آن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

متن مقدار ValueText

تابع متن مقدار(cs: سبک‌محاسبه‌شده، property: رشته): رشته
یک مقدار محاسبه‌شده به شکل متنی که getComputedStyle مرورگر می‌دهد، برای نام ویژگی‌ای مانند margin-top؛ برای ویژگی‌هایی که بسته نگه نمی‌دارد خالی است. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

شعاع های به کار رفته UsedRadii

تابع شعاع های به کار رفته(cs: سبک‌محاسبه‌شده، width: اعشار۶۴، height: اعشار۶۴): شعاع‌ها
شعاع گوشه‌ها به پیکسل برای جعبه‌ی مرزی با اندازه‌ی داده‌شده، که اگر شعاع‌های کناری روی هم بیفتند مانند قاعده‌ی CSS با هم کوچک می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

خانواده های قلم FontFamilies

تابع خانواده های قلم(cs: سبک‌محاسبه‌شده): وکتور<رشته>
خانواده‌های قلم یک سبک به ترتیب ترجیح. فراخواننده وکتور را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam

شناسه کلیدواژه KeywordId

تابع شناسه کلیدواژه(name: رشته): صحیح
جای پایدار یک کلیدواژه، واحد یا نام تابع (flex، px، calc) در جدول نام‌ها، یا -1 برای نامی که در جدول نیست. نام تازه فقط به پایان افزوده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

نام کلیدواژه KeywordName

تابع نام کلیدواژه(id: صحیح): رشته
نام یک جای جدول نام‌ها، یا رشته‌ی خالی. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

شناسه ویژگی سبک PropertyId

تابع شناسه ویژگی سبک(name: رشته): صحیح
شناسه‌ی عددی پایدار یک ویژگی مانند margin-top که افزودن اعلان نوع دار به کار می‌برد، یا -1. ویژگی‌های بلند از 0 تا 121 اند، کوتاه‌نویس‌ها از 200 و ویژگی‌های منطقی از 300 آغاز می‌شوند؛ ویژگی تازه فقط به پایان افزوده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

نام ویژگی سبک PropertyName

تابع نام ویژگی سبک(id: صحیح): رشته
نام یک شناسه‌ی ویژگی. فراخواننده آن را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

کلیدواژه با شناسه KwId

تابع کلیدواژه با شناسه(id: صحیح): تکه‌مقدار
تکه‌ی کلیدواژه با جای آن در جدول نام‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

کمیت با شناسه واحد DimId

تابع کمیت با شناسه واحد(value: اعشار۶۴، unit: صحیح): تکه‌مقدار
عددی با واحد که واحدش با جای آن در جدول نام‌ها داده می‌شود، مانند 1.5 و جای em.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

کارکرد با شناسه FnId

تابع کارکرد با شناسه(id: صحیح): تکه‌مقدار
تابعی را که با جایش در جدول نام‌ها داده می‌شود باز می‌کند، مانند calc یا linear-gradient. آن را با بستن پرانتز ببندید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

رنگ حل شده ColorValue

تابع رنگ حل شده(light: صحیح۶۴، dark: صحیح۶۴، flags: صحیح): تکه‌مقدار
رنگی که هنگام ترجمه حل شده است: مقدار RGBA مستقیم 0xRRGGBBAA برای طرح روشن و تیره و پرچم‌ها (1 وقتی این دو فرق دارند، 2 وقتی با نحوی تازه‌تر از هش، نام، rgb()، hsl() و hwb() نوشته شده که گرادیان را در Oklab میان‌یابی می‌کند).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam

ایستگاه های شیب GradientStops

تابع ایستگاه های شیب(l: لایه‌پس‌زمینه، length: اعشار۶۴): وکتور<ایستگاه‌رنگ>
ایستگاه‌های یک لایه‌ی گرادیان را برای خط گرادیانی به درازای length پیکسل (برای گرادیان مخروطی ۳۶۰) حل می‌کند: جای‌های calc()، جای‌های نانوشته و جای‌های نامرتب همان‌گونه که CSS می‌گوید درست می‌شوند، راهنماهای رنگ مانند Chromium با نه ایستگاه جایگزین می‌شوند، و بخش‌هایی که در فضایی جز sRGB هستند به تکه‌های کوتاهی شکسته می‌شوند که در همان فضا آمیخته شده‌اند. هر ایستگاه برگشتی pos.px دارد؛ وکتور را آزاد کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-BorderImage.salam

آمیختن رنگ ها MixColors

تابع آمیختن رنگ ها(start: رنگ‌سی‌اس‌اس، finish: رنگ‌سی‌اس‌اس، amount: اعشار۶۴): رنگ‌سی‌اس‌اس
دو رنگ را با آلفای پیش‌ضرب‌شده می‌آمیزد، همان‌گونه که مرورگر گذار رنگ را میان‌یابی می‌کند: اگر هر دو رنگ قدیمی باشند در sRGB و گرنه در Oklab، چنان‌که CSS Color 4 می‌گوید. 0 رنگ نخست و 1 رنگ دوم را می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam