Style Properties

We try to keep as close to standard web styles as possible - but not every property is implemented. We’ll use this page to highlight any differences.

Anything marked in bold* may behave differently to how you’d expect on web.

Common Types

Name

Description

Examples

Float

A standard float

flex-grow: 2.5;

String

A string with or without quotes

font-family: Poppins;,

content: “Back to Menu";

int

A standard int

font-weight: 600;

Color

Can have alpha

color: #fff;,

color: #ffffffaa;,

color: rgba(red, 0.5);

Length

A dimension, pixel or relative.

left: 10px;,

left: 10%;,

left: 10em;,

left: 10vw;,

mask-angle: 10deg;

Custom Style Properties

Name

Parameters

Examples / Notes

aspect-ratio

Float, Float (Optional)

aspect-ratio: 1;,

aspect-ratio: 16/9;

background-image-tint

Color

Multiplies the background-image by this Color. Not a replacement for filter or backdrop-filter.

border-image-tint

Color

Multiplies the border-image by this Color.

mask-scope

default / filter

default will apply the mask normally, filter will use the mask to blend between unfiltered and filtered.

sound-in

String

The name of the sound to play when this style is applied to an element. This is useful to put on a :hover or :active style to play a sound on hover/click

sound-out

String

The name of a sound to play when this style is removed from an element.

text-stroke

Length, Color

This will put an outline

text-stroke-color

Color

text-stroke-width

Length

Supported Style Properties

Name

Parameters

Examples / Notes

align-content

auto

flex-end

flex-start

center

stretch

space-between

space-around

baseline

align-items

Same as align-content

align-self

Same as align-content

animation

Fills in the properties below

animation-delay

Float

animation-direction

normal (default)

reverse

alternate

alternate-reverse

animation-duration

Float

animation-fill-mode

none

forwards

backwards

both

animation-iteration-count

int / infinite

animation-name

String

animation-play-state

running

paused

animation-timing-function

linear (default)

ease

ease-in

ease-out

ease-in-out

backdrop-filter

blur(Length)
saturate(Length)
contrast(Length)
brightness(Length)
grayscale(Length)
sepia(Length)
hue-rotate(Length)
invert(Length)
border-wrap(Length, Color)

backdrop-filter: blur(10px) saturate(80%);

backdrop-filter-blur

Length

backdrop-filter-brightness

Length

backdrop-filter-contrast

Length

backdrop-filter-hue-rotate

Length

backdrop-filter-invert

Length

backdrop-filter-saturate

Length

backdrop-filter-sepia

Length

background

Fills in the properties below

background-angle

Length

background-blend-mode

normal

lighten

multiply

background-color

Color

background-image

url(string)
linear-gradient(Color, Color)
radial-gradient(Color, Color)
conic-gradient(Color, Color)

background-position

Length, Length (optional)

background-position: 10px

background-position: 10px 15px

background-position-x

Length

background-position-y

Length

background-repeat

no-repeat

repeat-x

repeat-y

repeat

background-size

Length, Length (optional)

background-size: 10px

background-size: 10px 15px

background-size-x

Length

background-size-y

Length

border

border-width, border-style, border-color

border: 10px solid black;

border-bottom

Same as border

border-bottom-color

Color

border-bottom-left-radius

Length

border-bottom-right-radius

Length

border-bottom-width

Length

border-color

Color

border-image

Same as background-image

border-image-tint

Color

border-image-width-bottom

Length

border-image-width-left

Length

border-image-width-right

Length

border-image-width-top

Length

border-left

Same as border

border-left-color

Color

border-left-width

Length

border-radius

Length

border-radius: 8px;
border-radius: 8px 0px 8px 8px;

border-right

Same as border

border-right-color

Color

border-right-width

Length

border-top

Same as border

border-top-color

Color

border-top-left-radius

Length

border-top-right-radius

Length

border-top-width

Length

border-width

Length

bottom

Length

box-shadow

Length,
Length (optional),
Length (blur, optional),
Length (spread, optional),
Color

box-shadow: 2px 2px 4px black;

color

Color /
linear-gradient(Color, Color) /
radial-gradient(Color, Color) /
conic-gradient(Color, Color)

column-gap

Length

content

string

Sets the text of a Label.
eg. content: “Loading…";

cursor

none / pointer / progress / wait / crosshair / text / move / not-allowed / any custom cursors

display*

flex (default) / none

Everything is flex by default

filter

Same as backdrop-filter

filter-blur

Length

filter-border-color

Color

filter-border-width

Length

filter-brightness

Length

filter-contrast

Length

filter-drop-shadow

Same as box-shadow

filter-hue-rotate

Length

filter-invert

Length

filter-saturate

Length

filter-sepia

Length

filter-tint

Length

flex-basis

Length

flex-direction

row (default) / row-reverse / column / column-reverse

flex-grow

Float

flex-shrink

Float

flex-wrap

nowrap (Default) / wrap / wrap-reverse

font-color

Color

font-family*

String

Specify a single font, based on the name of the font itself, not the filename.
eg. font-family: Comic Sans MS;

font-size

Length

font-smooth

auto / always / never

never is good for pixel fonts

font-style

normal (default) / italic

font-weight

normal (default) / bold / light / bolder / lighter / black / int

font-weight: bold;,

font-weight: 300;

gap

Length, Length (optional)

Shorthand for row-gap and column-gap, specified the size of gutters.

height

Length

image-rendering

auto (default) / anisotropic / bilinear / trilinear / point / pixelated / nearest-neighbour

justify-content

Same as align-content

left

Length

letter-spacing

Length / normal

line-height

Length

margin

Fills in the properties below

margin-bottom

Length

margin-left

Length

margin-right

Length

margin-top

Length

mask

Shorthand for other mask properties

mask-angle

Length

mask-image

Same as background-image

mask-mode

luminance / alpha

mask-position

Length, Length (optional)

mask-position-x

Length

mask-position-y

Length

mask-repeat

same as background-repeat

mask-size

Length, Length (optional)

mask-size-x

Length

mask-size-y

Length

max-height

Length

max-width

Length

min-height

Length

min-width

Length

mix-blend-mode

normal / lighten / multiply

opacity

Float

order

int

overflow

visible (default) / hidden / scroll

overflow-x

Same as overflow

overflow-y

Same as overflow

padding

Fills in the properties below

padding-bottom

Length

padding-left

Length

padding-right

Length

padding-top

Length

perspective-origin

Length, Length (optional)

perspective-origin-x

Length

perspective-origin-y

Length

pointer-events

none (default) / all / auto

position*

static (default) / relative / absolute

See how it works: https://yogalayout.com/docs/absolute-relative-layout/

right

Length

row-gap

Length

text-align

left (default) / center / right

text-background-angle

Length

text-decoration

Color / Length / LineStyle, Line

Properties can be in any order and you can have multiple lines.

text-decoration-color

Color

text-decoration-line

underline / line-through / overline

Multiple properties can be set. eg. text-decoration-line: overline underline;

text-decoration-line-through-offset

Length

text-decoration-overline-offset

Length

text-decoration-skip-ink

all / none

Decides whether the line decoration should draw above glyphs or not

text-decoration-thickness

Length

text-decoration-underline-offset

Length

text-overflow

clip / ellipsis

text-shadow

Same as box-shadow

text-transform

none (default) / capitalize / lowercase / uppercase

top

Length

transform

Fills in the properties below

transform-origin

Length, Length, Length (optional)

transform-origin-x

Length

transform-origin-y

Length

transition

Fills in the properties below

transition: all 0.1s ease;,

transition: opacity 0.1s transform 0.2s ease-out;

transition-delay

Float

transition-duration

Float

transition-property

String

transition-timing-function

linear (default) / ease / ease-in-out / ease-out / ease-in

white-space

normal / nowrap / pre

Use pre to format tabs and newlines.

width

Length

word-break

normal / break-all

word-spacing

Length

z-index

int

Custom Pseudo-Classes

These are some s&box-specific pseudo-classes which are useful for applying transitions when an element is created or deleted.

  • :intro is removed when the element is created, things will transition away from this

  • :outro is added when Panel.Delete() is called. The Panel waits for all transitions to finish before actually deleting itself.

MyPanel {
	transition: all 2s ease-out;
	transform: scale( 1 );

	// When the element is created make it expand from nothing.
	&:intro {
		transform: scale( 0 );
	}

	// When the element is deleted make it double in size before being deleted.
	&:outro {
		transform: scale( 2 );
	}
}