Panorama API — CSS Properties
CSS properties available in Dota 2's Panorama UI. Access via CssProperties.PROPERTY_NAME or use the string values directly.
| Constant | CSS Property | Description |
|---|---|---|
ALIGN |
align |
|
ANIMATION |
animation |
|
ANIMATION_DELAY |
animation-delay |
|
ANIMATION_DIRECTION |
animation-direction |
|
ANIMATION_DURATION |
animation-duration |
|
ANIMATION_FILL_MODE |
animation-fill-mode |
|
ANIMATION_FRAME_TIME |
animation-frame-time |
|
ANIMATION_ITERATION_COUNT |
animation-iteration-count |
|
ANIMATION_NAME |
animation-name |
|
ANIMATION_TIMING_FUNCTION |
animation-timing-function |
|
BACKGROUND_BLUR |
background-blur |
- background-blur: gaussian( 2.5 ); - background-blur: gaussian( 6, 6, 1 ); |
BACKGROUND_COLOR |
background-color |
- background-color: #FFFFFFFF; - background-color: gradient( linear, 0% 0%, 0% 100%, from( #fbfbfbff ), to( #c0c0c0c0 ) ); - background-color: gradient( linear, 0% 0%, 0% 100%, from( #fbfbfbff ), color-stop( 0.3, #ebebebff ), to( #c0c0c0c0 ) ); - background-color: gradient( radial, 50% 50%, 0% 0%, 80% 80%, from( #00ff00ff ), to( #0000ffff ) ); - background-color: #0d1c22ff, gradient( radial, 100% -0%, 100px -40px, 320% 270%, from( #3a464bff ), color-stop( 0.23, #0d1c22ff ), to( #0d1c22ff ) ); |
BACKGROUND_COLOR_OPACITY |
background-color-opacity |
- background-color-opacity: 0.5; |
BACKGROUND_IMAGE |
background-image |
- background-image: url("file://{images}/default.tga"), url( "file://{movies}/Background1080p.webm" ); |
BACKGROUND_IMG_OPACITY |
background-img-opacity |
- background-img-opacity: 0.5; |
BACKGROUND_POSITION |
background-position |
- // aligns the top left corner of the image with the top left corner of the panel (default) background-position: 0% 0%; - // centers the image within the background (same as "center center") background-position: center; - // aligns the bottom right corner of the image with the bottom right corner of the panel (same as "100% 100%") background-position: right bottom; - // the top left corner of the image is placed 10px to the right of, 40px below the top left corner of the panel background-position: left 10px top 40px; |
BACKGROUND_REPEAT |
background-repeat |
- background-repeat: repeat; // equals "repeat repeat" (default) - background-repeat: repeat space; // repeats horizontally, spaces vertically - background-repeat: no-repeat round; // 1 column of images, scaled to fit evenly |
BACKGROUND_SIZE |
background-size |
- background-size: auto; // same as "auto auto" (default) - background-size: 100% 100%; // image fills the panel - background-size: 50% 75%; // image fills 50% of the panel's width, and 75% of the panel's height - background-size: 300px 200px; // image is drawn 300px wide, 200px tall |
BACKGROUND_TEXTURE_SIZE |
background-texture-size |
- background-texture-size: 100px 50px; // width 100px, height 50px |
BLUR |
blur |
- blur: gaussian( 2.5 ); - blur: gaussian( 6, 6, 1 ); |
BORDER |
border |
- border: 2px solid #111111FF; |
BORDER_BOTTOM |
border-bottom |
- border-bottom: 2px solid #111111FF; |
BORDER_BOTTOM_COLOR |
border-bottom-color |
- border-bottom-color: #111111FF; |
BORDER_BOTTOM_LEFT_RADIUS |
border-bottom-left-radius |
- border-bottom-left-radius: 2px 2px; - border-bottom-left-radius: 5%; |
BORDER_BOTTOM_RIGHT_RADIUS |
border-bottom-right-radius |
- border-bottom-right-radius: 2px 2px; - border-bottom-right-radius: 5%; |
BORDER_BOTTOM_STYLE |
border-bottom-style |
- border-bottom-style: solid; |
BORDER_BOTTOM_WIDTH |
border-bottom-width |
- border-bottom-width: 2px; |
BORDER_BRUSH |
border-brush |
- border-brush: gradient( linear, 0% 0%, 0% 100%, from( #fbfbfbff ), to( #c0c0c0c0 ) ); - border-brush: gradient( linear, 0% 0%, 0% 100%, from( #fbfbfbff ), color-stop( 0.3, #ebebebff ), to( #c0c0c0c0 ) ); - border-brush: gradient( radial, 50% 50%, 0% 0%, 80% 80%, from( #00ff00ff ), to( #0000ffff ) ); |
BORDER_COLOR |
border-color |
- border-color: #111111FF; - border-color: #FF0000FF #00FF00FF #0000FFFF #00FFFFFF; |
BORDER_IMAGE |
border-image |
- border-image: url( "file://message_border.png" ) 25% repeat; - border-image: url( "file://message_border.png" ) 25% / 1 / 20px repeat; |
BORDER_IMAGE_OUTSET |
border-image-outset |
- border-image-outset: 0px; - border-image-outset: 20px 20px 20px 20px; |
BORDER_IMAGE_REPEAT |
border-image-repeat |
- border-image-repeat: stretch stretch; - border-image-outset: repeat; - border-image-outset: round; - border-image-outset: stetch space; |
BORDER_IMAGE_SLICE |
border-image-slice |
- border-image-slice: 10px 10px 10px 10px; - border-image-slice: 20% 10% 20% 10% fill; |
BORDER_IMAGE_SOURCE |
border-image-source |
- border-image-source: url( "file://message_border.png" ); |
BORDER_IMAGE_WIDTH |
border-image-width |
- border-image-width: 1 1 1 1; - border-image-slice: 50% 50% 50% 50%; - border-image-slice: auto; |
BORDER_LEFT |
border-left |
- border-left: 2px solid #111111FF; |
BORDER_LEFT_COLOR |
border-left-color |
- border-left-color: #111111FF; |
BORDER_LEFT_STYLE |
border-left-style |
- border-left-style: solid; |
BORDER_LEFT_WIDTH |
border-left-width |
- border-left-width: 2px; |
BORDER_RADIUS |
border-radius |
- // 2 px circular corners on all sides border-radius: 2px; - // Perfect circular or elliptical panel (circular if box was square) border-radius: 50% / 50%; - // 2 px horizontal radii 4px vertical elliptical corners on all sides border-radius: 2px / 4px; - // All corners fully specified border-radius: 2px 3px 4px 2px / 2px 3px 3px 2px; |
BORDER_RIGHT |
border-right |
- border-right: 2px solid #111111FF; |
BORDER_RIGHT_COLOR |
border-right-color |
- border-right-color: #111111FF; |
BORDER_RIGHT_STYLE |
border-right-style |
- border-right-style: solid; |
BORDER_RIGHT_WIDTH |
border-right-width |
- border-right-width: 2px; |
BORDER_STYLE |
border-style |
- border-style: dashed; - border-style: solid none solid none; |
BORDER_TOP |
border-top |
- border-top: 2px solid #111111FF; |
BORDER_TOP_COLOR |
border-top-color |
- border-top-color: #111111FF; |
BORDER_TOP_LEFT_RADIUS |
border-top-left-radius |
- border-top-left-radius: 2px 2px; - border-top-left-radius: 5%; |
BORDER_TOP_RIGHT_RADIUS |
border-top-right-radius |
- border-top-right-radius: 2px 2px; - border-top-right-radius: 5%; |
BORDER_TOP_STYLE |
border-top-style |
- border-top-style: solid; |
BORDER_TOP_WIDTH |
border-top-width |
- border-top-width: 2px; |
BORDER_WIDTH |
border-width |
- border-width: 1px;' - border-width: 20px 1px 20px 1px; |
BOX_SHADOW |
box-shadow |
- box-shadow: #ffffff80 4px 4px 8px 0px; // outer, filled - box-shadow: hollow #ffffff80 4px 4px 8px 0px; // outer, hollow - box-shadow: inset #333333b0 0px 0px 8px 12px; // inner |
BRIGHTNESS |
brightness |
- brightness: 1.5; |
CLIP |
clip |
- clip: rect( 10%, 90%, 90%, 10% ); - clip: radial( 50% %50, 0deg, 90deg ); |
COLOR |
color |
- color: #FFFFFFFF; - color: gradient( linear, 0% 0%, 0% 100%, from( #cbcbcbff ), to( #a0a0a0a0 ) ); |
CONTEXT_MENU_ARROW_POSITION |
context-menu-arrow-position |
- context-menu-arrow-position: 25% 50%; |
CONTEXT_MENU_BODY_POSITION |
context-menu-body-position |
- context-menu-body-position: 50% 100%; |
CONTEXT_MENU_POSITION |
context-menu-position |
- context-menu-position: bottom; - context-menu-position: left bottom; |
CONTRAST |
contrast |
- contrast: 1.5; |
CURSOR |
cursor |
- cursor: text;cursor: crosshair; |
FLOW_CHILDREN |
flow-children |
|
FONT |
font |
|
FONT_FAMILY |
font-family |
- font-family: Arial; - font-family: "Comic Sans MS"; |
FONT_SIZE |
font-size |
- font-size: 12; |
FONT_STRETCH |
font-stretch |
- font-stretch: normal; - font-stretch: condensed; - font-stretch: expanded; |
FONT_STYLE |
font-style |
- font-style: normal; |
FONT_WEIGHT |
font-weight |
- font-weight: normal; - font-weight: bold; - font-weight: thin; |
HEIGHT |
height |
Sets the height for this panel. Possible values: "fit-children" - Panel size is set to the required size of all children (default) |
HORIZONTAL_ALIGN |
horizontal-align |
|
HUE_ROTATION |
hue-rotation |
- hue-rotation: 180deg; |
IGNORE_PARENT_FLOW |
ignore-parent-flow |
|
IMG_SHADOW |
img-shadow |
- img-shadow: 2px 2px 8px 3.0 #333333b0 alpha-only; |
LAYOUT_POSITION |
layout-position |
- layout-position: fixed; |
LETTER_SPACING |
letter-spacing |
Sets letter-spacing for text in a string. Possible values: normal - no manual spacing |
LINE_HEIGHT |
line-height |
- line-height: normal; - line-height: 20px; - line-height: 1.2; - line-height: 120%; |
MARGIN |
margin |
|
MARGIN_BOTTOM |
margin-bottom |
|
MARGIN_LEFT |
margin-left |
|
MARGIN_RIGHT |
margin-right |
|
MARGIN_TOP |
margin-top |
|
MAX_HEIGHT |
max-height |
|
MAX_WIDTH |
max-width |
|
MIN_HEIGHT |
min-height |
|
MIN_WIDTH |
min-width |
|
OPACITY |
opacity |
- opacity: 0.8; |
OPACITY_BRUSH |
opacity-brush |
- opacity-brush: gradient( linear, 0% 0%, 0% 100%, from( #ffffffff ), to( #ffffff00 ) ); |
OPACITY_MASK |
opacity-mask |
Applies an image as an opacity mask that stretches to the panel bounds and fades out it's content based on the alpha channel. The second float value is an optional opacity value for the mask itself, the image won't interpolate/cross-fade, but you can animate the opacity to fade the mask in/out. opacity-mask-threshold lets you specify a threshold and softness percentage of how the mask is applied. Below the threshold, pixels are fully transparent, and above the threshold pixels are fully opaque. The softness lets you apply a range during which the opacity is scaled by the alpha from the mask.Examples:opacity-mask: url( "file://{images}/upper_row_mask.tga" ); opacity-mask: url( "file://{images}/upper_row_mask.tga" ) 0.5; opacity-mask: url( "file://{images}/upper_row_mask.tga" ) -1.0; opacity-mask-position: 5px 50%; opacity-mask-scale: 200%; opacity-mask-scale: 50% 100%; opacity-mask-scale: cover; opacity-mask-scale: contain; opacity-mask-threshold: 0% 30%; |
OPACITY_MASK_POSITION |
opacity-mask-position |
|
OPACITY_MASK_SCALE |
opacity-mask-scale |
|
OPACITY_MASK_THRESHOLD |
opacity-mask-threshold |
|
OVERFLOW |
overflow |
- overflow: squish squish; // squishes contents in horizontal and vertical directions - overflow: squish scroll; // scrolls contents in the Y direction |
PADDING |
padding |
|
PADDING_BOTTOM |
padding-bottom |
|
PADDING_LEFT |
padding-left |
|
PADDING_RIGHT |
padding-right |
|
PADDING_TOP |
padding-top |
|
PARAGRAPH_SPACING |
paragraph-spacing |
Sets paragraph-spacing for text in a string. Only affects multiple line breaks in a row ( , , etc.).Possible values: normal - no manual spacing, defauls to line height |
PERSPECTIVE |
perspective |
- perspective: 1000; |
PERSPECTIVE_ORIGIN |
perspective-origin |
- perspective-origin: 50% 50%; |
POSITION |
position |
- position: 3% 20px 0px; |
SATURATION |
saturation |
- saturation: 0.4; |
SOUND |
sound |
- sound: "whoosh_in"; |
SOUND_OUT |
sound-out |
- sound-out: "whoosh_out"; |
TEXT_ALIGN |
text-align |
- text-align: left; - text-align: right; - text-align: center; - text-align: justify; - text-align: justify-letter-spacing; |
TEXT_DECORATION |
text-decoration |
- text-decoration: underline; |
TEXT_DECORATION_STYLE |
text-decoration-style |
- text-decoration-style: dotted; |
TEXT_OVERFLOW |
text-overflow |
- text-overflow: ellipsis; - text-overflow: clip; - text-overflow: shrink; - text-overflow: shrink min( 10px ); - text-overflow: shrink min( 10px ) ellipsis; - text-overflow: noclip; |
TEXT_SHADOW |
text-shadow |
- text-shadow: 2px 2px 8px 3.0 #333333b0; |
TEXT_TRANSFORM |
text-transform |
- text-transform: uppercase; |
TEXTURE_SAMPLING |
texture-sampling |
- texture-sampling: normal; - texture-sampling: alpha-only; - texture-sampling: point; |
TOOLTIP_ARROW_POSITION |
tooltip-arrow-position |
- tooltip-arrow-position: 25% 50%; |
TOOLTIP_BODY_POSITION |
tooltip-body-position |
- tooltip-body-position: 50% 100%; |
TOOLTIP_POSITION |
tooltip-position |
- tooltip-position: bottom; - tooltip-position: left bottom; |
TRANSFORM |
transform |
- transform: translate3d( -100px, -100px, 0px ); - transform: rotateZ( -32deg ) rotateX( 30deg ) translate3d( 125px, 520px, 230px ); |
TRANSFORM_ORIGIN |
transform-origin |
- transform-origin: 50% 50% |
TRANSITION |
transition |
- transition: position 2.0s ease-in-out 0.0s, perspective-origin 1.2s ease-in-out 0.8s; |
TRANSITION_DELAY |
transition-delay |
- transition-delay: 0.0s; - transition-delay: 0.0s, 1.2s; |
TRANSITION_DURATION |
transition-duration |
- transition-duration: 2.0s; - transition-duration: 2.0s, 1.2s, 1.2s, 4.0s, 2.0s; |
TRANSITION_FRAME_TIME |
transition-frame-time |
- transition-frame-time: 0.2s; - transition-frame-time: 0.2s, 0.0s; |
TRANSITION_HIGH_FRAMERATE |
transition-high-framerate |
- transition-high-framerate: true; - transition-high-framerate: false, true, false; |
TRANSITION_PROPERTY |
transition-property |
- transition: position, transform, background-color; |
TRANSITION_TIMING_FUNCTION |
transition-timing-function |
- transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out, linear; - transition-timing-function: cubic-bezier( 0.785, 0.385, 0.555, 1.505 ); |
UI_SCALE |
ui-scale |
- ui-scale: 150%; // 150% scaling for X, Y, and Z. - ui-scale: 50% 100% 150%; // 50% scaling for X, 100% for Y. 150% for Z. |
UI_SCALE_X |
ui-scale-x |
- ui-scale: 150%; // 150% scaling for X, Y, and Z. - ui-scale: 50% 100% 150%; // 50% scaling for X, 100% for Y. 150% for Z. |
UI_SCALE_Y |
ui-scale-y |
- ui-scale: 150%; // 150% scaling for X, Y, and Z. - ui-scale: 50% 100% 150%; // 50% scaling for X, 100% for Y. 150% for Z. |
UI_SCALE_Z |
ui-scale-z |
- ui-scale: 150%; // 150% scaling for X, Y, and Z. - ui-scale: 50% 100% 150%; // 50% scaling for X, 100% for Y. 150% for Z. |
VERTICAL_ALIGN |
vertical-align |
|
VISIBILITY |
visibility |
Controls if the panel is visible and is included in panel layout. Possible values: "visible" - panel is visible and included in layout (default) "collapse" - panel is invisible and not included in layout |
WASH_COLOR |
wash-color |
- wash-color: #39b0d325; |
WHITE_SPACE |
white-space |
- white-space: normal; - white-space: nowrap; |
WIDTH |
width |
Sets the width for this panel. Possible values: "fit-children" - Panel size is set to the required size of all children (default) |
WORLD_BLUR |
world-blur |
- world-blur: gaussian( 2.5 ); - world-blur: gaussian( 6, 6, 1 ); - world-blur: mipmapgaussian( 6, 6, 4 ); In this version each gaussian pass is preceded by a quarter area downsample. |
X |
x |
- position: 3% 20px 0px; |
Y |
y |
- position: 3% 20px 0px; |
Z |
z |
- position: 3% 20px 0px; |
Z_INDEX |
z-index |
- z-index: 1; |