Supported CSS Styles: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Replaced all instances of image.jpg with a random asset URI to alleviate any confusion on how images are referenced in CSS within MapTool.)
m (Added Java CSS source link)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Macro]]{{Advanced}}
[[Category:Cookbook]]
MapTool supports a subset of the CSS level 1 specification. These styles can be used in-line, and also as external styles within dialogs and frames. This is not meant to be an exhaustive reference, nor an introduction to CSS, this page is only a collection of which properties are supported and to what extent. If you are looking for an introduction to CSS, visit [http://www.w3schools.com/css/css_intro.asp W3Schools CSS Tutorial]
{{note|'''Attention!''' MapTool 1.6+ contains {{roll|frame5}} and {{roll|dialog5}} roll options, which support modern HTML 5, CSS, and JavaScript.  A list of the [https://wheelercode.wordpress.com/javafx-css-properties-selectors-list/ CSS classes, pseudo-classes, and properties] may be helpful, although that list is for JavaFX 8 and MapTool currently uses JavaFX 20, so there may be additional entries not shown there.  A more [https://openjfx.io/javadoc/16/javafx.graphics/javafx/scene/doc-files/cssref.html#typefont technically advanced list] for Java 16 may be useful, as it shows the syntax for supported properties and what values are allowed.  It references Java code in some places, but the examples themselves are standalone.  This latter link is useful to discern how to load custom fonts, how to calculate color values, and other more esoteric features.}}
{{note|'''Attention!''' MapTool 1.7+ additionally contains an {{roll|overlay}} roll option which allows HTML 5, CSS, and JavaScript user interfaces directly in the map view, and adds access to several [[Whitelisted CDNs]] for easy inclusion of Bootstrap CSS, Google Fonts, and JS libraries such as jQuery.}}
MapTool supports a subset of the CSS level 1 specification in the chat panel ([https://docs.oracle.com/javase/8/docs/api/javax/swing/text/html/CSS.html see list in Java]), and in the panels created by {{roll|frame}} and {{roll|dialog}}. These styles can be used in-line, and also as external styles within dialogs and frames. This is not meant to be an exhaustive reference, nor an introduction to CSS. This page is only a collection of which properties are supported and to what extent. If you are looking for an introduction to CSS, visit [http://www.w3schools.com/css/css_intro.asp W3Schools CSS Tutorial]
 
Also, note that some CSS attributes are modeled but not rendered, meaning that they can be used and will be recognized, they just won't have any effect on the rendered result.  The list is available straight from the Java 10 documentation:  [https://docs.oracle.com/javase/10/docs/api/javax/swing/text/html/CSS.html CSS Styles]


=Font Properties=
=Font Properties=
Line 16: Line 20:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
font: bold italic 12pt Arial, Helvetica, sans-serif;
font: bold italic 12pt Arial, Helvetica, sans-serif;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 34: Line 38:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
font-family: Arial, Helvetica, sans-serif;
font-family: Arial, Helvetica, sans-serif;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 52: Line 56:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
font-size: 12pt;
font-size: 12pt;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 70: Line 74:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
font-style: italic;
font-style: italic;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 88: Line 92:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
font-weight: bold;
font-weight: bold;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 107: Line 111:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
color: #FF0000;
color: #FF0000;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 125: Line 129:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
background: #0000FF url(asset://de05e42d2eb43fe53a542db116da8083) no-repeat right top;
background: #0000FF url(asset://de05e42d2eb43fe53a542db116da8083) no-repeat right top;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 143: Line 147:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
background-color: #0000FF;
background-color: #0000FF;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 161: Line 165:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
background-image: url(asset://de05e42d2eb43fe53a542db116da8083);
background-image: url(asset://de05e42d2eb43fe53a542db116da8083);
</source>
</syntaxhighlight>
|}
|}
   
   
Line 179: Line 183:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
background-repeat: no-repeat;
background-repeat: no-repeat;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 197: Line 201:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
background-position: bottom right;
background-position: bottom right;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 216: Line 220:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
text-align: right;
text-align: right;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 234: Line 238:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
text-decoration: line-through;
text-decoration: line-through;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 252: Line 256:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
vertical-align: super;
vertical-align: super;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 271: Line 275:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
border-style: inset;
border-style: inset;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 289: Line 293:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
margin: 10px;
margin: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 307: Line 311:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
margin-top: 10px;
margin-top: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 325: Line 329:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
margin-right: 10px;
margin-right: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 343: Line 347:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
margin-bottom: 10px;
margin-bottom: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 361: Line 365:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
margin-left: 10px;
margin-left: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 379: Line 383:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
padding: 10px;
padding: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 397: Line 401:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
padding-top: 10px;
padding-top: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 415: Line 419:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
padding-right: 10px;
padding-right: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 433: Line 437:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
padding-bottom: 10px;
padding-bottom: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 451: Line 455:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
padding-left: 10px;
padding-left: 10px;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 470: Line 474:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
list-style-type: square;
list-style-type: square;
</source>
</syntaxhighlight>
|}
|}
   
   
Line 488: Line 492:
|-
|-
|'''Example:'''||
|'''Example:'''||
<source lang="css">
<syntaxhighlight lang="css">
list-style-position: inside;
list-style-position: inside;
</source>
</syntaxhighlight>
|}
|}

Latest revision as of 06:50, 30 December 2023


Attention! MapTool 1.6+ contains [frame5():] and [dialog5():] roll options, which support modern HTML 5, CSS, and JavaScript. A list of the CSS classes, pseudo-classes, and properties may be helpful, although that list is for JavaFX 8 and MapTool currently uses JavaFX 20, so there may be additional entries not shown there. A more technically advanced list for Java 16 may be useful, as it shows the syntax for supported properties and what values are allowed. It references Java code in some places, but the examples themselves are standalone. This latter link is useful to discern how to load custom fonts, how to calculate color values, and other more esoteric features.


Attention! MapTool 1.7+ additionally contains an [overlay():] roll option which allows HTML 5, CSS, and JavaScript user interfaces directly in the map view, and adds access to several Whitelisted CDNs for easy inclusion of Bootstrap CSS, Google Fonts, and JS libraries such as jQuery.

MapTool supports a subset of the CSS level 1 specification in the chat panel (see list in Java), and in the panels created by [frame():] and [dialog():]. These styles can be used in-line, and also as external styles within dialogs and frames. This is not meant to be an exhaustive reference, nor an introduction to CSS. This page is only a collection of which properties are supported and to what extent. If you are looking for an introduction to CSS, visit W3Schools CSS Tutorial

Also, note that some CSS attributes are modeled but not rendered, meaning that they can be used and will be recognized, they just won't have any effect on the rendered result. The list is available straight from the Java 10 documentation: CSS Styles

Font Properties

font

Value: font-style, font-weight, font-size, font-family
Initial: none
Applies To: all elements
Inherited: yes
Relative Size: only font-size
Example:
font: bold italic 12pt Arial, Helvetica, sans-serif;

font-family

Value: family-name, generic-name
Initial: system default
Applies To: all elements
Inherited: yes
Relative Size: N/A
Example:
font-family: Arial, Helvetica, sans-serif;

font-size

Value: absolute-size, relative-size, length, percentage
Initial: medium
Applies To: all elements
Inherited: yes
Relative Size: relative to parent element's font-size
Example:
font-size: 12pt;

font-style

Value: normal, italic, oblique
Initial: normal
Applies To: all elements
Inherited: yes
Relative Size: N/A
Example:
font-style: italic;

font-weight

Value: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900
Initial: normal
Applies To: all elements
Inherited: yes
Relative Size: N/A
Example:
font-weight: bold;

Color and Background Properties

color

Value: color name, color code
Initial: element specific
Applies To: all elements
Inherited: yes
Relative Size: N/A
Example:
color: #FF0000;

background

Value: background-color, background-image, background-repeat, background-position
Initial: none
Applies To: all elements
Inherited: no
Relative Size: no
Example:
background: #0000FF url(asset://de05e42d2eb43fe53a542db116da8083) no-repeat right top;

background-color

Value: color name, color code
Initial: transparent
Applies To: all elements
Inherited: no
Relative Size: N/A
Example:
background-color: #0000FF;

background-image

Value: none, url
Initial: none
Applies To: all elements
Inherited: no
Relative Size: N/A
Example:
background-image: url(asset://de05e42d2eb43fe53a542db116da8083);

background-repeat

Value: repeat, repeat-x, repeat-y, no-repeat
Initial: repeat
Applies To: all elements
Inherited: no
Relative Size: N/A
Example:
background-repeat: no-repeat;

background-position

Value: top, center, bottom, left, center, right
Initial: top left
Applies To: block-level and replaced elements
Inherited: no
Relative Size: no
Example:
background-position: bottom right;

Text Properties

text-align

Value: left, right, center
Initial: element specific
Applies To: block-level elements
Inherited: yes
Relative Size: N/A
Example:
text-align: right;

text-decoration

Value: none, underline, line-through
Initial: none
Applies To: all elements
Inherited: no
Relative Size: no
Example:
text-decoration: line-through;

vertical-align

Value: baseline, sub, super
Initial: baseline
Applies To: inline elements
Inherited: no
Relative Size: no
Example:
vertical-align: super;

Box Properties

border-style

Value: none, inset, outset
Initial: none
Applies To: all elements
Inherited: no
Relative Size: N/A
Example:
border-style: inset;

margin

Value: length, auto
Initial: none
Applies To: all elements
Inherited: no
Relative Size: no
Example:
margin: 10px;

margin-top

Value: length, auto
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
margin-top: 10px;

margin-right

Value: length, auto
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
margin-right: 10px;

margin-bottom

Value: length, auto
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
margin-bottom: 10px;

margin-left

Value: length, auto
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
margin-left: 10px;

padding

Value: length
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
padding: 10px;

padding-top

Value: length
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
padding-top: 10px;

padding-right

Value: length
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
padding-right: 10px;

padding-bottom

Value: length
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
padding-bottom: 10px;

padding-left

Value: length
Initial: 0
Applies To: all elements
Inherited: no
Relative Size: no
Example:
padding-left: 10px;

Classification Properties

list-style-type

Value: none, disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha
Initial: disc
Applies To: list-item elements
Inherited: yes
Relative Size: N/A
Example:
list-style-type: square;

list-style-position

Value: inside, outside
Initial: outside
Applies To: list-item elements
Inherited: yes
Relative Size: N/A
Example:
list-style-position: inside;