Standard CSS Keywords
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A
Keyword PD4ML Support Comments
:active  
additive-symbols (@counter-style)  
::after (:after)  
align-content  
align-items  
align-self  
all  
<angle>  
animation  
animation-delay  
animation-direction  
animation-duration  
animation-fill-mode  
animation-iteration-count  
animation-name  
animation-play-state  
animation-timing-function  
@annotation  
annotation()  
attr()  

 

 

 

B
Keyword PD4ML Support Comments
::backdrop  
backface-visibility  
background  
background-attachment  
background-blend-mode  
background-clip  
background-color  
background-image  
background-origin  
background-position  
background-repeat  
background-size  
<basic-shape>  
::before (:before)  
<blend-mode>  
block-size  
blur()  
border  
border-block-end  
border-block-end-color  
border-block-end-style  
border-block-end-width  
border-block-start  
border-block-start-color  
border-block-start-style  
border-block-start-width  
border-bottom  
border-bottom-color  
border-bottom-left-radius  
border-bottom-right-radius  
border-bottom-style  
border-bottom-width  
border-collapse  
border-color  
border-image  
border-image-outset  
border-image-repeat  
border-image-slice  
border-image-source  
border-image-width  
border-inline-end  
border-inline-end-color  
border-inline-end-style  
border-inline-end-width  
border-inline-start  
border-inline-start-color  
border-inline-start-style  
border-inline-start-width  
border-left  
border-left-color  
border-left-style  
border-left-width  
border-radius  
border-right  
border-right-color  
border-right-style  
border-right-width  
border-spacing  
border-style  
border-top  
border-top-color  
border-top-left-radius  
border-top-right-radius  
border-top-style  
border-top-width  
border-width  
bottom  
@bottom-center  
box-decoration-break  
box-shadow  
box-sizing  
break-after  
break-before  
break-inside  
brightness()  

 

 

 

C
Keyword PD4ML Support Comments
calc()  
caption-side  
caret-color  
ch  
@character-variant  
character-variant()  
@charset  
:checked  
circle()  
clear  
clip  
clip-path  
cm  
<color>  
color  
color-adjust  
column-count  
column-fill  
column-gap  
column-rule  
column-rule-color  
column-rule-style  
column-rule-width  
column-span  
column-width  
columns  
content  
contrast()  
<counter>  
counter-increment  
counter-reset  
@counter-style  
cross-fade()  
cubic-bezier()  
::cue  
cursor  
<custom-ident>  

 

 

 

D
Keyword PD4ML Support Comments
:default  
deg  
:dir  
direction  
:disabled  
display  
dpcm  
dpi  
dppx  
drop-shadow()  

 

 

 

E
Keyword PD4ML Support Comments
element()  
ellipse()  
em  
:empty  
empty-cells  
:enabled  
ex  

 

 

 

F
Keyword PD4ML Support Comments
fallback (@counter-style)  
filter  
<filter-function>  
:first  
:first-child  
::first-letter (:first-letter)  
::first-line (:first-line)  
:first-of-type  
fit-content()  
<flex>  
flex  
flex-basis  
flex-direction  
flex-flow  
flex-grow  
flex-shrink  
flex-wrap  
float  
:focus  
font  
@font-face  
font-family  
font-family (@font-face)  
font-feature-settings  
font-feature-settings (@font-face)  
@font-feature-values  
font-kerning  
font-language-override  
font-optical-sizing  
font-size  
font-size-adjust  
font-stretch  
font-stretch (@font-face)  
font-style  
font-style (@font-face)  
font-synthesis  
font-variant  
font-variant (@font-face)  
font-variant-alternates  
font-variant-caps  
font-variant-east-asian  
font-variant-ligatures  
font-variant-numeric  
font-variant-position  
font-variation-settings (@font-face)  
font-weight  
font-weight (@font-face)  
format()  
fr  
frames()  
<frequency>  
:fullscreen  

 

 

 

G
Keyword PD4ML Support Comments
gap  
grad  
<gradient>  
grayscale()  
grid  
grid-area  
grid-auto-columns  
grid-auto-flow  
grid-auto-rows  
grid-column  
grid-column-end  
grid-column-start  
grid-row  
grid-row-end  
grid-row-start  
grid-template  
grid-template-areas  
grid-template-columns  
grid-template-rows  

 

 

 

H
Keyword PD4ML Support Comments
Hz  
hanging-punctuation  
height  
height (@viewport)  
@historical-forms  
:hover  
hsl()  
hsla()  
hue-rotate()  
hyphens  

 

 

 

I
Keyword PD4ML Support Comments
<ident>  
<image>  
image()  
image-orientation  
image-rendering  
image-set()  
@import  
in  
:in-range  
:indeterminate  
inherit  
initial  
inline-size  
inset()  
inset-block-end  
inset-block-start  
inset-inline-end  
inset-inline-start  
<integer>  
:invalid  
invert()  
isolation  

 

 

 

J
Keyword PD4ML Support Comments
justify-content  
justify-items  
justify-self  

 

 

 

K
Keyword PD4ML Support Comments
kHz  
@keyframes  

 

 

 

L
Keyword PD4ML Support Comments
:lang  
:last-child  
:last-of-type  
leader()  
:left  
left  
@left-bottom  
<length>  
letter-spacing  
line-break  
line-height  
linear-gradient()  
:link  
list-style  
list-style-image  
list-style-position  
list-style-type  
local()  

 

 

 

M
Keyword PD4ML Support Comments
margin  
margin-block-end  
margin-block-start  
margin-bottom  
margin-inline-end  
margin-inline-start  
margin-left  
margin-right  
margin-top  
mask  
mask-clip  
mask-composite  
mask-image  
mask-mode  
mask-origin  
mask-position  
mask-repeat  
mask-size  
mask-type  
matrix()  
matrix3d()  
max-height  
max-height (@viewport)  
max-width  
max-width (@viewport)  
max-zoom (@viewport)  
@media  Media queries are TODO
min-block-size  
min-height  
min-height (@viewport)  
min-inline-size  
min-width  
min-width (@viewport)  
min-zoom (@viewport)  
minmax()  
mix-blend-mode  
mm  
ms  

 

 

 

N
Keyword PD4ML Support Comments
@namespace  
negative (@counter-style)  
:not  
:nth-child  
:nth-last-child  
:nth-last-of-type  
:nth-of-type  
<number>  

 

 

 

O
Keyword PD4ML Support Comments
object-fit  
object-position  
:only-child  
:only-of-type  
opacity  
opacity()  
:optional  
order  
orientation (@viewport)  
@ornaments  
ornaments()  
orphans  
:out-of-range  
outline  
outline-color  
outline-offset  
outline-style  
outline-width  
overflow  
overflow-wrap  
overflow-x  
overflow-y  

 

 

 

P
Keyword PD4ML Support Comments
pad (@counter-style)  
padding  
padding-block-end  
padding-block-start  
padding-bottom  
padding-inline-end  
padding-inline-start  
padding-left  
padding-right  
padding-top  
@page  
page-break-after  
page-break-before  
page-break-inside  
pc  
<percentage>  
perspective  
perspective()  
perspective-origin  
place-content  
::placeholder  
pointer-events  
polygon()  
<position>  
position  
prefix (@counter-style)  
pt  
px  

 

 

 

Q
Keyword PD4ML Support Comments
Q  
quotes  

 

 

 

R
Keyword PD4ML Support Comments
rad  
radial-gradient()  
range (@counter-style)  
<ratio>  
:read-only  
:read-write  
rect()  
rem  
repeat()  
repeating-linear-gradient()  
repeating-radial-gradient()  
:required  
resize  
<resolution>  
revert  
rgb()  
rgba()  
:right  
right  
@right-bottom  
:root  
rotate  
rotate()  
rotate3d()  
rotateX()  
rotateY()  
rotateZ()  
row-gap  

 

 

 

S
Keyword PD4ML Support Comments
s  
saturate()  
scale  
scale()  
scale3d()  
scaleX()  
scaleY()  
scaleZ()  
:scope  
scroll-behavior  
scroll-snap-type  
::selection  
sepia()  
<shape>  
shape-image-threshold  
shape-margin  
shape-outside  
skew()  
skewX()  
skewY()  
::slotted  
speak-as (@counter-style)  
src (@font-face)  
steps()  
<string>  
@styleset  
styleset()  
@stylistic  
stylistic()  
suffix (@counter-style)  
@supports  
@swash  
swash()  
symbols (@counter-style)  
symbols()  
system (@counter-style)  

 

 

 

T
Keyword PD4ML Support Comments
tab-size  
table-layout  
:target  
target-counter()  
target-counters()  
target-text()  
text-align  
text-align-last  
text-combine-upright  
text-decoration  
text-decoration-color  
text-decoration-line  
text-decoration-style  
text-emphasis  
text-emphasis-color  
text-emphasis-position  
text-emphasis-style  
text-indent  
text-justify  
text-orientation  
text-overflow  
text-rendering  
text-shadow  
text-transform  
text-underline-position  
<time>  
<timing-function>  
top  
@top-center  
touch-action  
transform  
transform-box  
<transform-function>  
transform-origin  
transform-style  
transition  
transition-delay  
transition-duration  
transition-property  
transition-timing-function  
translate  
translate()  
translate3d()  
translateX()  
translateY()  
translateZ()  
turn  

 

 

 

U
Keyword PD4ML Support Comments
unicode-bidi  
unicode-range (@font-face)  
unset  
<url>  
url()  
user-zoom (@viewport)  

 

 

 

V
Keyword PD4ML Support Comments
:valid  
var()  
vertical-align  
vh  
@viewport  
visibility  
:visited  
vmax  
vmin  
vw  

 

 

 

W
Keyword PD4ML Support Comments
white-space  
widows  
width  
width (@viewport)  
will-change  
word-break  
word-spacing  
word-wrap  
writing-mode  

 

 

 

X
Keyword PD4ML Support Comments
x  

 

 

 

Z
Keyword PD4ML Support Comments
z-index  
zoom (@viewport)    

 

Supported CSS selectors
* Universal selector Matches any element
E Type selectors Matches any E element (i.e., an element of type E)
E.foo Class selector Matches E element of class "foo"
.foo (or *.foo) Class selector Matches any element of class "foo"
E.foo.bar Multi-class selector Matches E element of both classes "foo" and "bar"
.foo.bar (or *.foo.bar) Multi-class selector Matches any element of both classes "foo" and "bar"
E F Descendant selectors Matches any F element that is a child of an element E
E > F Child selectors Matches any F element that is a child of an element E
E:first-child The :first-child pseudo-class Matches element E when E is the first child of its parent
E:nth-child(even|odd) Structural pseudo-class selector Matches E element, the even or odd child of its parent
E + F Adjacent selectors Matches any F element immediately preceded by a sibling
element E
E[foo] Attribute selectors Matches any E element with the "foo" attribute set (whatever
the value)
E[foo="warning"] Attribute selectors Matches any E element whose "foo" attribute value is exactly
equal to "warning"

 

 

PD4ML Proprietary Media Type pdf

By default PD4ML applies CSS properties, defined for media type screen (if a media type specified). Of course, it also applies styles of media type

all[css],
but [css]print
is ignored. If for some reason print styles must be applied, PD4ML allows to enable them with the API call:

Map m = new HashMap();
m.put(PD4Constants.PD4ML_MEDIA_TYPE_PRINT, "add");
pd4ml.setDynamicParams(m);
The above code enables print media type in addition to screen . If screen styles are undesired, the following disables screen and enables print.
Map m = new HashMap();
m.put(PD4Constants.PD4ML_MEDIA_TYPE_PRINT, "override");
pd4ml.setDynamicParams(m);

In situations, when very special styles are required for pdf conversions only, there is a proprietary media type pdf. As the type is known to PD4ML only, it will be ignored by the regular web browsers.

@media pdf {
TR, IMG {page-break-inside: avoid;}
}

CSS media queries are not supported.

 

 

PD4ML Proprietary CSS Properties
pd4ml-visibility and pd4ml-display

With PD4ML-specific CSS properties pd4ml-visibility and pd4ml-display there is a possibility to exclude particular elements from a resulting PDF document. The properties syntax is more-less identical to the standard visibility and display.

<input style="pd4ml-display: none; pd4ml-visibility: hidden"
type=submit value="Get the page as PDF">

An opposite effect can be achieved with the code below. As you see, the proprietary properties take precedence over the standard visibility and display in PD4ML environment. But by the regular web browser they are not known and just ignored.


<div style="display: none; visibility: hidden; pd4ml-display: block; pd4ml-visibility: visible">
The section is visible only in PDF report
</div>
pd4toc

CSS property to be applied to <H1>-<H6> heading tags to suppress page numbering in the table of contents (if defined with <pd4ml:toc>). It can be applied to all headings of a particular level:

H3 {pd4toc: nopagenum}
or to selected tags individually.

pd4ml-bookmark-visibility

Makes possible to exclude some items from PDF bookmarks structure.

H3 { pd4ml-bookmark-visibility: hidden }
or <h3 style="pd4ml-bookmark-visibility: hidden"> for a single bookmark exclusion.

pd4ml-new-page-table-header-copy

By default, if a table has <thead> section (or leading <tr> with <th> cells only, which defines <thead> implicitly), the section is considered as a table header and replicated on a new page after each table page break. The behavior is not always desired and can be disabled with the CSS property:

TABLE { pd4ml-new-page-table-header-copy: never }