سی اس اس 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).
سبک دادن به یک صفحه
کارتی با یک سرعنوان و یک بند. قاعدهی سراسری حاشیهی سرعنوان را تعیین میکند، برگهی پیشفرض اندازه و وزن آن را میدهد و اعلانهای خود کارت به سبک چینش تبدیل و با جعبه سی اس اس چیده میشوند.
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی رابط گرافیکی.جعبه سی اس اس
تابع 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.آزادکن()
پایاناشاره، فشردن و رسانه
پسزمینهی اشارهی دکمه وقتی اشارهگر روی آن است اعمال میشود و فقط عنصرهای مسیر اشاره دوباره محاسبه میشوند. یک شرط media ناوبری را در پنجرهی باریک ستونی میکند. محاسبهی سبک ۵۰۰۰ عنصر با ۱۱ سبک یکتا روی یک هستهی رایانهی رومیزی حدود ۱۰ میلیثانیه طول میکشد و یک تغییر اشاره چهار عنصر را در حدود ۰٫۱ میلیثانیه دوباره سبک میدهد. با ۵۰۰۰ سبک متفاوت بار نخست حدود ۱۰۰ و پس از تجزیهی اعلانها حدود ۵۰ میلیثانیه طول میکشد.
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
تابع ریشه:
ناپایا 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.آزادکن()
پایانبرنامههای سبک ترجمهشده
صفحهای که با --ui=native ساخته میشود هنگام اجرا هیچ سیاساسی را تجزیه نمیکند. مترجم هنگام ترجمه یک برنامهسبک را با ترجمه اعلان ها (یک شناسه برای هر فهرست اعلان یکتا)، ترجمه قاعده و ترجمه سی اس اس پر میکند: کوتاهنویسیها باز میشوند، مقدارها به نشانه بدل و بررسی میشوند، گزینشگرها و شرطهای رسانه ترجمه میشوند و هر چیز نادرست با شمار خطاهای برنامه گزارش میشود. سپس متن برنامه سبک یک تابع سلام مینویسد که همان برنامه را از مقدارهای ثابت، با یک فراخوانی برای هر اعلان، دوباره میسازد و برنامه با برگه از برنامه آن را برگه میکند. عنصرها با شناسه اعلان پایه، شناسه اعلان اشاره، شناسه اعلان تمرکز و شناسه اعلان فشردن به فهرستهای اعلان اشاره میکنند، پس محاسبهی سبکها هرگز به متن سیاساس نمیرسد. فقط مقداری که در زمان اجرا ساخته میشود از اعلان زمان اجرا میگذرد که آن یک مقدار را یک بار تجزیه و نگه میدارد. برگهی پیشفرض مرورگر هم خودش یک برنامهی ساختهشده است، پس برگه تازه هم دیگر سیاساس تجزیه نمیکند.
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع 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.آزادسازی برنامه()
پایانمقدارهای نوعدار و رنگها
برنامهای که متن برنامه سبک مینویسد مقدارهایی دارد که هنگام ترجمه تعیین شدهاند. هر اعلان یک افزودن اعلان نوع دار با شناسهی عددی ویژگی از شناسه ویژگی سبک است؛ کلیدواژهها، واحدها و نام تابعها جایی در یک جدول ناماند (شناسه کلیدواژه)؛ درازاها عدد و واحدشان را نگه میدارند و واحدهای مطلق از پیش به پیکسل و زاویهها به درجه برگردانده شدهاند؛ 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. وقتی سیستم عامل میان روشن و تیره جابهجا میشود، تنظیم طرح رنگ فقط عنصرهای وابسته به طرح را دوباره سبک میدهد.
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع 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.آزادسازی برنامه()
پایانگونهها
تکهمقدار Piece
ساختار تکهمقدارمتن برنامه سبک مینویسد. آن را با کلیدواژه، عدد، کمیت با واحد و سازندههای دیگر بسازید.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| گونه تکه | kind | صحیح = 0 | گونهی نشانه. |
| عدد تکه | num | اعشار۶۴ = 0 | عدد یک عدد، کمیت یا درصد. |
| متن تکه | text | رشته = "" | متن کلیدواژه، واحد، نام تابع، رشته، نشانی یا هش. |
| متن خام تکه | raw | رشته = "" | کلیدواژه همانگونه که نوشته شده، وقتی با متن کوچکشده فرق دارد (نام قلمها بزرگی و کوچکی حرفها را نگه میدارند). |
| کد تکه | code | صحیح = 0 | نویسهی یک جداکننده، یا 1 برای عددی که بیاعشار نوشته شده است. |
| فاصله پیش از تکه | space | منطقی = نادرست | آیا پیش از جداکننده فاصله آمده است. |
| شناسه نام تکه | id | صحیح = -1 | جای یک کلیدواژه، واحد یا نام تابع در جدول نامها، یا -1 وقتی تکه متن خودش را دارد. |
| رنگ روشن تکه | color | صحیح۶۴ = 0 | رنگ حلشده به صورت RGBA مستقیم در یک عدد، 0xRRGGBBAA، برای طرح روشن. |
| رنگ تیره تکه | dark | صحیح۶۴ = 0 | همان رنگ برای طرح تیره؛ برابر رنگ روشن تکه است مگر آن که مقدار light-dark() یا یک رنگ سامانه داشته باشد. |
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع 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.آزادسازی برنامه()
پایانبرنامهسبک Program
ساختار برنامهسبک| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه برنامه | id | صحیح = -1 | شمارهی دستگیره، یا -1 برای برنامهای که هنوز با برنامه سبک تازه ساخته نشده است. |
نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
افزودن اعلان AddDecl
تابع افزودن اعلان(prop: رشته، important: منطقی، value: تکهمقدار)متن برنامه سبک اکنون افزودن اعلان نوع دار مینویسد.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
افزودن اعلان نوع دار AddTyped
تابع افزودن اعلان نوع دار(prop: صحیح، flags: صحیح، value: تکهمقدار)!important و 2 وقتی مقدار به طرح رنگ وابسته است) و مقدار به صورت تکهها. این همان چیزی است که متن برنامه سبک مینویسد و بارگذاری آن نه رشتهای را مقایسه میکند و نه چیزی را تجزیه.// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع 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.آزادسازی برنامه()
پایانافزودن اعلان متنی AddVarDecl
تابع افزودن اعلان متنی(prop: رشته، value: رشته، important: منطقی)var() که هنگام محاسبهی سبکها جایگزین میشود.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
بستن فهرست اعلان EndList
تابع بستن فهرست اعلان(count: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
افزودن پرسش رسانه AddMedia
تابع افزودن پرسش رسانه(parent: صحیح، condition: تکهمقدار)نمونهی این مورد همراه با موارد بالاتر آمده است: 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: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
آزادسازی برنامه Free
تابع آزادسازی برنامه()نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Program.salam
سبکمحاسبهشده ComputedStyle
ساختار سبکمحاسبهشده| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نمایش | 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.2 | line-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 | اعشار۶۴ = 8 | tab-size به شمار فاصله، وقتی درازا داده شده صفر. |
| درازای تب | tab_size_px | اعشار۶۴ = 0 | tab-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 | اعشار۶۴ = 0 | border-spacing افقی. |
| فاصله مرزها عمودی | border_spacing_y | اعشار۶۴ = 0 | border-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، محور عمودی. |
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
تابع ریشه:
ناپایا 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.آزادکن()
پایاننوعنمایش 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. |
| نمایش فقط فرزندان | Contents | | contents: فرزندان جای جعبه را میگیرند. |
| بدون نمایش | None | | none: بدون جعبه. |
نمونهی این مورد همراه با موارد بالاتر آمده است: 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
جداشمار نوعتبدیل| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| جابجایی تبدیل | Translate | | translate() و شکلهای محوری آن. |
| مقیاس تبدیل | Scale | | scale()؛ چرخشهای سهبعدی و پرسپکتیو به صورت مقیاس یک نگه داشته میشوند. |
| چرخش تبدیل | Rotate | | rotate(). |
| کجی تبدیل | Skew | | skew()، skewX() و skewY(). |
| تبدیل ماتریسی | Matrix | | matrix() یا بخش دوبعدی matrix3d(). |
نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-ComputedStyle.salam
نوعزمانبندی TimingKind
جداشمار نوعزمانبندی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| زمان بندی خطی | Linear | | مقدار linear. |
| منحنی بزیه | CubicBezier | | منحنی بزیهی مکعبی. |
| زمان بندی پله ای | Steps | | steps(). |
نمونهی این مورد همراه با موارد بالاتر آمده است: 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. |
| طرح روشن تیره | LightDark | | light 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 میبرد. |
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع ریشه:
ناپایا 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.آزادکن()
پایاندرازایسیاساس 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 | کاشیپسزمینه | شیوهی تکرار لبههای چپ و راست. |
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
تابع ریشه:
ناپایا برگه := سی اس اس.برگه تازه()
دیرکن برگه.آزادسازی برگه()
ناپایا عنصرها := وکتور {} برگردان وکتور<سی اس اس.عنصر>
ناپایا کارت := سی اس اس.عنصر تازه("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)"، ب)
میانه := سی اس اس.آمیختن رنگ ها(آ، ب، ۰.۵)
سرچاپ "قدیمی:"، آ.رنگ قدیمی، "میانهی گذار:"، سی اس اس.متن رنگ(میانه)
عنصرها[۰].آزادسازی عنصر()
عنصرها.آزادکن()
پایانکارکردتبدیل 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" | زبان صفحه روی ریشه. |
// زبان: فارسی
واردسازی رابط گرافیکی.سی اس اس
واردسازی حافظه
تابع ریشه:
ناپایا 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.آزادکن()
پایانعنصر 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: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: 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
تابع برگه تازه(): برگهسبکنمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam
برگه خالی EmptySheet
تابع برگه خالی(): برگهسبکنمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam
سی اس اس پیش فرض DefaultCss
تابع سی اس اس پیش فرض(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam
برچسب نوع TagOf
تابع برچسب نوع(kind: رشته): رشتهp برای paragraph و div برای box. گزینشگرهای نوع با همین برچسبها جور میشوند. فراخواننده نتیجه را آزاد میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-Sheet.salam
عنصر تازه NewElement
تابع عنصر تازه(kind: رشته، parent: صحیح): عنصرنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: رنگسیاساس): منطقی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: درازایسیاساس): رشته16px، 50%، calc(50% - 10px)، auto و مانند آن. فراخواننده آن را آزاد میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam
تجزیه اعلان ها ParseDeclarations
تابع تجزیه اعلان ها(text: رشته): وکتور<اعلان>آزادسازی اعلان ها آزاد کنید.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam
آزادسازی اعلان ها FreeDeclarations
تابع آزادسازی اعلان ها(list &: وکتور<اعلان>)تجزیه اعلان ها برگردانده آزاد میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-values.salam
ویژگی مندی گزینشگر SelectorSpecificity
تابع ویژگی مندی گزینشگر(selector: رشته): ویژگیمندینمونهی این مورد همراه با موارد بالاتر آمده است: 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: اعشار۶۴): شعاعهانمونهی این مورد همراه با موارد بالاتر آمده است: 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: صحیح): تکهمقدارem.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam
کارکرد با شناسه FnId
تابع کارکرد با شناسه(id: صحیح): تکهمقدارcalc یا linear-gradient. آن را با بستن پرانتز ببندید.نمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam
رنگ حل شده ColorValue
تابع رنگ حل شده(light: صحیح۶۴، dark: صحیح۶۴، flags: صحیح): تکهمقدار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: اعشار۶۴): رنگسیاساسنمونهی این مورد همراه با موارد بالاتر آمده است: gui-css-typed.salam