The properties not listed in the following two tables are not supported by XXE. |
The following properties can be inherited whether explicitly (inherit keyword) or implicitly (inherited property).
For all properties except line-height where the specified number is inherited (which is the correct behavior), the inherited value is the actual value not the computed value.
Property | Value | Restrictions | |||
|---|---|---|---|---|---|
| background | [ background-color || background-image || background-repeat || background-attachment || background-position ] | inherit | Note that property background-attachment is not supported at all. Property background-attachment is always assumed to be | |||
background-color | color | transparent | inherit | normal[a] | - | |||
| background-image | url | icon | linear-gradient() | none | inherit | Built-in images such as
Moreover, color stops expressed as pixels or as percentages outside the [0,100] range are not supported. For example: linear-gradient(red,
white 20%,
blue)is supported, while linear-gradient(red -50px,
white,
blue)
linear-gradient(red,
white -50%,
black 150%,
blue)are not. | |||
| background-position | 0% 0% | top left | left top | length{1,2} | inherit | Percentages other than 0% 0% and positions other than top left and left top are correctly parsed but generally, not correctly rendered. | |||
| background-repeat | repeat | repeat-x | repeat-y | no-repeat | inherit | - | |||
border | [ | - | |||
border-color | side_value{1,4} | - | |||
border-bottom-color | color | transparent | inherit | - | |||
border-left-color | " | - | |||
border-right-color | " | - | |||
border-top-color | " | - | |||
border-top-left-radius |
| -
| |||
border-top-right-radius | " | - | |||
border-bottom-left-radius | " | - | |||
border-bottom-right-radius | " | - | |||
border-radius | [ | - | |||
border-style | side_value{1,4} | - | |||
border-top-style | none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | - | |||
border-right-style | " | - | |||
border-bottom-style | " | - | |||
border-left-style | " | - | |||
border-width | thin | thick | medium | length | inherit | Note that border-top-width, border-right-width, border-bottom-width and border-left-width, while successfully parsed are not really supported. | |||
color | color | inherit | normal[a] | System colors ( | |||
| counter-reset, counter-increment | [ identifier integer? ]+ | none | inherit | - | |||
display | none | inline | block | list-item | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | inline-block | tree | inline-tree | inherit |
| |||
font | [ [ | Font-variant is correctly parsed, but not honored. System fonts ( | |||
font-family | [[name | generic] ,]* [name | generic] | inherit | normal[a] | The generic font families cursive and fantasy are not supported. | |||
font-size | medium | small | large | x-small | x-large | xx-small | xx-large | smaller | larger | length | percentage | inherit | - | |||
font-style | normal | italic | oblique | inherit | Italic and oblique are aliases. | |||
font-weight | normal | bold | bolder| lighter | inherit | No N00. Bolder and bold are aliases. Lighter and normal are aliases. | |||
line-height | normal | | - | |||
| list-style-image | URI | none | | inherit | Also supports icon(name). | |||
| list-style-position | outside | inside | inherit | - | |||
| list-style-type | decimal | lower-alpha | upper-alpha | lower-roman | upper-roman | none | inherit | No decimal-leading-zero, hebrew, armenian, lower-greek, etc. | |||
| list-style | [ list-style-type || list-style-position || list-style-image ] | inherit | - | |||
margin | side_value{1,4} | - | |||
margin-bottom | length | auto | inherit | No percentage. | |||
margin-left | " | - | |||
margin-right | " | - | |||
margin-top | " | - | |||
padding | side_value{1,4} | - | |||
padding-bottom | length | inherit | No percentage. | |||
padding-left | " | - | |||
padding-right | " | - | |||
padding-top | " | - | |||
text-align | left | right | center | justify | inherit | Justify and left are aliases. | |||
text-decoration | none | underline | overline | line-through | inherit | No blink. | |||
text-indent | length | inherit | No percentage. | |||
vertical-align | baseline | middle | sub | super | text-top | top | text-bottom | bottom | inherit | No length, percentage. | |||
white-space | normal | pre | nowrap | inherit | - | |||
[a] " | |||||
The following properties cannot be inherited whether explicitly (inherit keyword) or implicitly (inherited property).
Property | Value | Restrictions |
|---|---|---|
border-spacing | length length? | - |
| caption-side | top | bottom | left, right, inherit are not supported. |
content | normal | none | string | uri | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote | counter(name) | counter(name, style) | counters(name, separ) | counters(name, separ, style) | disc | circle | square | see extensions | No-open-quote, no-close-quote are ignored. Counter styles are limited to: decimal, lower-alpha, lower-latin, upper-alpha, upper-latin, lower-roman, upper-roman. |
height | length | auto | No percentage. This property is currently ignored. |
marker-offset | length | auto | fill | No percentage. |
width | length | auto | No percentage. This property is currently only useful to specify the minimum width of a table cell. |
Implementation specificities and restrictions:
The CSS box decorations (border, padding, etc) are not supported for inlined elements. The background-color is the only property supported for such elements.
A workaround consists in using display: inline-block;. See Section 8, “New values for the display property”.
When a CSS box has at least one rounded corner (specified using any of the border-radius properties), the only supported border-styles are: dotted, dashed and solid.
When the directionality of the element (e.g. the element has or inherits attribute dir="rtl") which is the subject of the CSS rule is right-to-left and when its display is list-item, block, inline-block or inline.
text-align: left; is processed as if it were text-align: start; and text-align: right; is processed as if it were text-align: end;
margin-left is processed as if it were CSS logical property margin-inline-start. margin-right is processed as if it were CSS logical property margin-inline-end.
padding-left is processed as if it were CSS logical property padding-inline-start. padding-right is processed as if it were CSS logical property padding-inline-end.
border-left-color is processed as if it were CSS logical property border-inline-start-color. border-right-color is processed as if it were CSS logical property border-inline-end-color.
border-left-style is processed as if it were CSS logical property border-inline-start-style. border-right-style is processed as if it were CSS logical property border-inline-end-style.
Properties border-top-left-radius, border-bottom-left-radius, border-top-right-radius, border-bottom-right-radius are processed as if they were CSS logical properties border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius respectively.
:first-letter and :first-line pseudo-elements are ignored.
The !important specifier is ignored.
@import rules may be specified anywhere in a CSS file. This is not allowed by the CSS standard which requires such rules to precede all other rules except the @charset rule.
The following properties are correctly parsed but generally, not correctly rendered:
border-top, border-right, border-bottom, border-left.
border-top-style, border-right-style, border-bottom-style, border-left-style.
border-top-width, border-right-width, border-bottom-width, border-left-width.
background-position: percentage other that 0% 0% and keywords other than left top and top left.
Property border-collapse is parsed but not implemented. Note that only border-collapse:separate is supported.
@font-face rules are supported however the required src property must contain at least one url() item ending with ".ttf" or ".otf". This feature is mainly useful to be able to use icons fonts such as "Font Awesome". Example:
@font-face {
font-family: icon;
src: url(https://maxcdn.bootstrapcdn.com/font-awesome/¬
4.4.0/fonts/fontawesome-webfont.ttf);
}
quote:before {
content: "\f10d"; /*fa-quote-left*/
font-family: icon;
color: gray;
}
quote:after {
content: "\f10e"; /*fa-quote-right*/
font-family: icon;
color: gray;
}The @media rule is supported to a limited extent. Only a comma-separated list of media types (like "print") is supported, not media features (like "print and (orientation: portrait)").
XXE makes use of the following media types: all, print, screen, xmlmind-xml-editor. Media type print is considered only when using menu item → . DocBook example:
@media print {
colspec,
spanspec {
display: none;
}
}The same restrictions apply to the media pseudo-attribute of the xml-stylesheet processing instruction. Example of such processing instruction:
<?xml-stylesheet href="screen.css" type="text/css" media="screen,tv,projection"?>