<!DOCTYPE html> <html> <head> <title>Test inheritance into captions</title> <style> /** * The idea is that "color" inherits by default while "border-color" does * not. So if the former is red and the latter is green on a parent, and * the child's border-color is set to "inherit", it'll be green only if * the child is inheriting from the parent. If not, it'll either be * whatever the border-color is on what it's inheriting from, which will * be red if what it's inheriting from has the default (currentColor) * border-color). */ /* 't' for "test" */ * { color: red; border: 0px hidden red; background: transparent } .t, .t2 { border-color: green } .t > :first-child { border-color: green; border-style: solid; border-width: 10px } .t2 > :first-child { border-style: solid; border-width: 10px } .t2 > .test { border-color: green } </style> </head> <body> <table class="t"><caption></caption></table> <table class="t2 d2"><caption class="test"></caption></table> <table class="t d"><caption></caption></table> <table class="t d"><caption></caption></table> <table class="t d"><caption></caption></table> <table class="t2 d d2"><caption class="test"></caption></table> <table class="t2 d d2"><caption class="test"></caption></table> <table class="t2 d d2"><caption class="test"></caption></table> </body> </html>