The FO standard borrows a lot from the CSS standard. Most formatting objects may have CSS like properties with similar semantics, some properties have been added. We take a fo:block container as an example:

Figure 978. A fo:block with a fo:inline descendant. Create comment in forum
A fo:block with a fo:inline descendant.
<fo:block font-weight='bold'
  border='1mm'>A lot of attributes and  <fo:inline background-color='black'
    color='white'>inverted</fo:inline> text.</fo:block> ...

The fo:inline descendant serves as a means to change the current property set. In HTML/CSS this may be achieved by using the SPAN tag:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <title>Blocks/spans and CSS</title>
    <h1>Blocks/spans and CSS</h1>
    <p style="font-weight:  bold;   border: 1mm;
              border-style: solid;  border-bottom-style: dashed;"
     >A lot of attributes and
      <span style="color: white;background-color: black;"
         >inverted</span> text.</p>

Though being encapsulated in an attribute class we find a one-to-one correspondence between FO and CSS in this case. The HTML rendering works as expected.