Thank you for visiting the Windows Internet Explorer Testing Center!
In conjunction with the Beta 1 release of Internet Explorer 8, we’re posting a set of tests we are using to validate our interpretation and implementation of the CSS 2.1 specification. We’re doing this so we can get some feedback from you, the web designers and developers, on the tests we’ve submitted to the W3C for inclusion into the W3C’s CSS Working Group Test Suite.
We know how challenging it can be to build one site that works in every browser and we know it’s just getting harder as the technology advances and customer expectations rise. The Internet Explorer team is serious about making it easier for you to build the web in a standardized way. Because there are ambiguities and options in any specification, we’ve created these tests to verify our current implementation of the CSS 2.1 specification in IE8 Beta 1. These tests will eventually cover the breadth of the properties for CSS 2.1 that are implemented in future IE8 milestones. We welcome and desire your feedback on the tests prior to these becoming official tests in the CSS suite. Please post any corrections or additions you may have to the tests in the W3C CSS2.1 Test Suite mailing list.
Thank you,

Jason Upton
Test Manager, Internet Explorer
CSS 2.1 Test Pages
NOTE: In order to correctly run the test cases, you must install the Ahem font on your system.
- Chapter 4
- Parsing of bad selectors
- Parsing blocks and strings in style blocks
- Case insensitivity within selectors, properties and values
- Parsing hexadecimal and rgb color values
- Parsing comments within styles
- Parsing whitespace
- Parsing unexpected end of declaration block
- Parsing escaped identifiers as selectors, property and value
- Parsing escaped characters as selector and property
- Parsing escaped indentifiers with spaces
- Parsing strings with escaped newlines
- Parsing HTML comments
- Parsing invalid rules
- Parsing invalid values
- Parser error handling with invalid at-rules: @ invalid selector
- Parsing invalid declarations in at-rules
- Parsing malformed rules: Property with no value and no ending semi-colon
- Parsing malformed rules: Property with no value assigned
- Parsing malformed rules: No value and no semi-colon
- Parsing malformed rules: No value with property
- Parsing malformed rules: Semi-colon before property
- Parsing malformed rules: Valid rule after malformed rule
- Parsing signed integers
- Parsing quoted keywords
- Parsing of escaped quotes (single)
- Parsing of escaped quotes (double)
- Error handling of unterminated strings
- Chapter 5
- ID selector
- Attribute selector matching value
- Attribute selector matching value in hypenated list
- Attribute selector matching value in list
- Child selector
- Class selectors
- Descendent selector
- Grandchild selector
- Descendent selector with ID attribute
- :first-child pseudo-class
- :first-child pseudo-class with text node
- Selectors :focus pseudo-class
- Condensed selector
- :hover pseudo-class
- ID Selectors
- Selectors :lang pseudo-class
- :Visited and :Link pseudo-classes
- Sibling selector
- Type selectors
- Universal selector
- Chapter 7
- Chapter 8
- Properties
- Border-width - Relation of thin, medium, and thick
- Margin backgrounds and transparency
- Margin on non-replaced inline elements
- Margin-top and margin-bottom on inline elements
- Margin shorthand - One value application to all sides
- Margin shorthand - Two values application to top, bottom and left, right
- Margin shorthand - Three values application to top and left, right and bottom
- Margin shorthand - four values application to top, left, right, bottom
- Padding shorthand - One value application to all sides
- Padding shorthand - two values application to top, bottom and left, right
- Padding shorthand - three values application to top and left, right and bottom
- Padding shorthand - Four values application to top, left, right, bottom
- Chapter 9
- Chapter 10
- Properties
- Height
- Height: auto
- Height: inherit
- Height: Zero
- Height: Negative Zero
- Height: Positive Zero
- Height: Pixels (minimum)
- Height: Ems (minimum)
- Height: X-height (minimum)
- Height: Inches (minimum)
- Height: Centimeters (minimum)
- Height: Millimeters (minimum)
- Height: Points (minimum)
- Height: Picas (minimum)
- Height: Percentage (minimum)
- Height: Pixels (minimum -1)
- Height: Ems (minimum -1)
- Height: X-height (minimum -1)
- Height: Inches (minimum -1)
- Height: Centimeters (minimum -1)
- Height: Millimeters (minimum -1)
- Height: Points (minimum -1)
- Height: Picas (minimum -1)
- Height: Percentage (minimum -1)
- Height: Pixels (nominal)
- Height: Ems (nominal)
- Height: X-height (nominal)
- Height: Inches (nominal)
- Height: Centimeters (nominal)
- Height: Millimeters (nominal)
- Height: Points (nominal)
- Height: Picas (nominal)
- Height: Percentage (nominal)
- Max-height
- Max-height: none
- Max-height: inherit
- Max-height: Zero
- Max-height: Negative Zero
- Max-height: Positive Zero
- Max-height: Pixels (minimum)
- Max-height: Ems (minimum)
- Max-height: X-height (minimum)
- Max-height: Inches (minimum)
- Max-height: Centimeters (minimum)
- Max-height: Millimeters (minimum)
- Max-height: Points (minimum)
- Max-height: Picas (minimum)
- Max-height: Percentage (minimum)
- Max-height: Pixels (minimum -1)
- Max-height: Ems (minimum -1)
- Max-height: X-height (minimum -1)
- Max-height: Inches (minimum -1)
- Max-height: Centimeters (minimum -1)
- Max-height: Millimeters (minimum -1)
- Max-height: Points (minimum -1)
- Max-height: Picas (minimum -1)
- Max-height: Percentage (minimum -1)
- Max-height: Pixels (nominal)
- Max-height: Ems (nominal)
- Max-height: X-height (nominal)
- Max-height: Inches (nominal)
- Max-height: Centimeters (nominal)
- Max-height: Millimeters (nominal)
- Max-height: Points (nominal)
- Max-height: Picas (nominal)
- Max-height: Percentage (nominal)
- Max-width
- Max-width: none
- Max-width: inherit
- Max-width: Zero
- Max-width: Negative Zero
- Max-width: Positive Zero
- Max-width: Pixels (minimum)
- Max-width: Ems (minimum)
- Max-width: X-height (minimum)
- Max-width: Inches (minimum)
- Max-width: Centimeters (minimum)
- Max-width: Millimeters (minimum)
- Max-width: Points (minimum)
- Max-width: Picas (minimum)
- Max-width: Percentage (minimum)
- Max-width: Pixels (minimum -1)
- Max-width: Ems (minimum -1)
- Max-width: X-height (minimum -1)
- Max-width: Inches (minimum -1)
- Max-width: Centimeters (minimum -1)
- Max-width: Millimeters (minimum -1)
- Max-width: Points (minimum -1)
- Max-width: Picas (minimum -1)
- Max-width: Percentage (minimum -1)
- Max-width: Pixels (nominal)
- Max-width: Ems (nominal)
- Max-width: X-height (nominal)
- Max-width: Inches (nominal)
- Max-width: Centimeters (nominal)
- Max-width: Millimeters (nominal)
- Max-width: Points (nominal)
- Max-width: Picas (nominal)
- Max-width: Percentage (nominal)
- Min-height
- Min-height: none
- Min-height: inherit
- Min-height: Zero
- Min-height: Negative Zero
- Min-height: Positive Zero
- Min-height: Pixels (minimum)
- Min-height: Ems (minimum)
- Min-height: X-height (minimum)
- Min-height: Inches (minimum)
- Min-height: Centimeters (minimum)
- Min-height: Millimeters (minimum)
- Min-height: Points (minimum)
- Min-height: Picas (minimum)
- Min-height: Percentage (minimum)
- Min-height: Pixels (minimum -1)
- Min-height: Ems (minimum -1)
- Min-height: X-height (minimum -1)
- Min-height: Inches (minimum -1)
- Min-height: Centimeters (minimum -1)
- Min-height: Millimeters (minimum -1)
- Min-height: Points (minimum -1)
- Min-height: Picas (minimum -1)
- Min-height: Negative Percentage (minimum -1)
- Min-height: Pixels (nominal)
- Min-height: Ems (nominal)
- Min-height: X-height (nominal)
- Min-height: Inches (nominal)
- Min-height: Centimeter (nominal)
- Min-height: Millimeter (nominal)
- Min-height: Points (nominal)
- Min-height: Picas (nominal)
- Min-height: Percentage (nominal)
- Min-width
- Min-width: auto
- Min-width: inherit
- Min-width: Zero
- Min-width: Negative zero
- Min-width: Positive zero
- Min-width: Pixels (minimum)
- Min-width: Ems (minimum)
- Min-width: X-height (minimum)
- Min-width: Inches (minimum)
- Min-width: Centimeters (minimum)
- Min-width: Millimeters (minimum)
- Min-width: Points (minimum)
- Min-width: Picas (minimum)
- Min-width: Percentage (minimum)
- Min-width: Pixels (minimum -1)
- Min-width: Ems (minimum -1)
- Min-width: X-height (minimum -1)
- Min-width: Inches (minimum -1)
- Min-width: Centimeters (minimum -1)
- Min-width: Millimeters (minimum -1)
- Min-width: Points (minimum -1)
- Min-width: Picas (minimum -1)
- Min-width: Percentage (minimum -1)
- Min-width: Pixels (nominal)
- Min-width: Ems (nominal)
- Min-width: X-height (nominal)
- Min-width: Inches (nominal)
- Min-width: Centimeters (nominal)
- Min-width: Millimeters (nominal)
- Min-width: Points (nominal)
- Min-width: Picas (nominal)
- Min-width: Percentage (nominal)
- Width
- Width: auto
- Width: inherit
- Width: Zero
- Width: Negative Zero
- Width: Positive Zero
- Width: Pixels (minimum)
- Width: Ems (minimum)
- Width: X-height (minimum)
- Width: Inches (minimum)
- Width: Centimeters (minimum)
- Width: Millimeters (minimum)
- Width: Points (minimum)
- Width: Picas (minimum)
- Width: Percentage (minimum)
- Width: Pixels (minimum -1)
- Width: Ems (minimum -1)
- Width: X-height (minimum -1)
- Width: Inches (minimum -1)
- Width: Centimeters (minimum -1)
- Width: Millimeters (minimum -1)
- Width: Points (minimum -1)
- Width: Picas (minimum -1)
- Width: Percentage (minimum -1)
- Width: Pixels (nominal)
- Width: Ems (nominal)
- Width: X-height (nominal)
- Width: Inches (nominal)
- Width: Centimeters (nominal)
- Width: Millimeters (nominal)
- Width: Points (nominal)
- Width: Picas (nominal)
- Width: Percentage (nominal)
- Height
- Properties
- Chapter 12
- :after inherits inheritable values
- :after applies after text
- :before :after applies to same selector
- :before :after is included in formatting changes
- :before inherits inheritable values
- :before applies before text
- Content property works only with :before and :after
- Content property missing attr(x)
- Content property attr(x) case sensitivity
- Content property on out of scope counter
- Content property \A creates newline
- Content property with missing image
- Content property and white-space handling
- Counter-increment on display: none element
- Counter-increment on pseudo-element that is not generated
- Counter-increment on visibility: hidden element
- counter-increment on display: none element
- Multiple counter-reset before counter use
- Counter-reset on pseudo-element that is not generated
- Counter-reset on visibility: hidden element
- List with background applied
- Chapter 14
- Properties
- Background-color
- Background-color set to green
- Background-color set to aqua
- Background-color set to black
- Background-color set to blue
- Background-color set to fuchsia
- Background-color set to gray
- Background-color set to lime
- Background-color set to maroon
- Background-color set to navy
- Background-color set to olive
- Background-color set to orange
- Background-color set to purple
- Background-color set to red
- Background-color set to silver
- Background-color set to white
- Background-color set to white
- Background-color set to yellow
- Background-color set to inherit
- Background-color set to hex with 6 digits
- Background-color set to hex with 3 digits
- Background-color set to rgb with percentage values
- Background-color set to rgb with integers
- Background-image
- Background-position
- Background-position set to top right
- Background-position set to top left
- Background-position set to top center
- Background-position set to bottom right
- Background-position set to bottom left
- Background-position set to bottom center
- Background-position set to 1in 1in
- Background-position set to 96px 96px
- Background-position set to 6em 6em
- Background-position set to 12ex 12ex
- Background-position set to 72pt 72pt
- Background-position set to 2.54cm 2.54cm
- Background-position set to 25.4mm 25.4mm
- Background-position set to 6pc 6pc
- Background-position set to 0 0
- Background-position set to center center
- Background-position with negative integer value
- Background-position with percentage values (minimum - 1, minimum)
- Background-position with percentage values (minimum, minimum)
- Background-position with percentage values (minimum+1, minimum)
- Background-position with percentage values (nominal, minimum)
- Background-position with percentage values (maximum-1, minimum)
- Background-position with percentage values (maximum, minimum)
- Background-position with percentage values (maximum+1, minimum)
- Background-position with percentage values (minimum, minimum-1)
- Background-position with percentage values (minimum, minimum+1)
- Background-position with percentage values (minimum, nominal)
- Background-position with percentage values (minimum, maximum-1)
- Background-position with percentage values (minimum, maximum)
- Background-position with percentage values (minimum, maximum+1)
- Background-position with percentage values (nominal, nominal)
- Background-position with percentage values (nominal, nominal)
- Background-repeat
- Color
- Color set to green
- Color set to aqua
- Color set to black
- Color set to blue
- Color set to fuchsia
- Color set to gray
- Color set to lime
- Color set to maroon
- Color set to navy
- Color set to olive
- Color set to orange
- Color set to purple
- Color set to red
- Color set to teal
- Color set to white
- Color set to yellow
- Color set to silver
- Color set to inherit
- Color: RGB with -0% red percentage value
- Color: RGB with negative red percentage value (minimum - 1)
- Color: RGB with +0% red percentage value
- Color: RGB with red percentage value (minimum + 1)
- Color: RGB with red percentage value (nominal)
- Color: RGB with red percentage value (maximum - 1)
- Color: RGB with red percentage value (maximum)
- Color: RGB with red percentage value (maximum + 1)
- Color: RGB with -0 red integer value
- Color: RGB with negative red integer value (minimum - 1)
- Color: RGB with red integer value +0
- Color: RGB with red integer value (minimum + 1)
- Color: RGB with red integer value (nominal)
- Color: RGB with red integer value (maximum - 1)
- Color: RGB with red integer value (maximum)
- Color: RGB with red integer value (maximum + 1)
- Color: RGB with +0 green percentage value
- Color: RGB with negative green percentage value (minimum - 1)
- Color: RGB with green percentage value -0%
- Color: RGB with green percentage value (minimum + 1)
- Color: RGB with green percentage value (nominal)
- Color: RGB with green percentage value (maximum - 1)
- Color: RGB with green percentage value (maximum)
- Color: RGB with green integer value of -0
- Color: RGB with green integer value (minimum + 1)
- Color: RGB with green integer value (nominal)
- Color: RGB with green integer value (maximum - 1)
- Color: RGB with green integer value (maximum)
- Color: RGB with green integer value (maximum + 1)
- Color: RGB with green percentage value (maximum + 1)
- Color: RGB with -0 blue percentage value
- Color: RGB with negative blue percentage value (minimum - 1)
- Color: RGB with percentage values all 0%
- Color: RGB with blue integer value of rgb(0, 0, -0)
- Color: RGB with blue percentage value (nominal)
- Color: RGB with blue percentage value (maximum - 1)
- Color: RGB with blue percentage value (maximum)
- Color: RGB with negative percentage values of -0%
- Color: RGB with all integer values (minimum)
- Color: RGB with blue integer value (minimum + 1)
- Color: RGB with blue integer value (nominal)
- Color: RGB with blue integer value (maximum - 1)
- Color: RGB with blue integer value (maximum)
- Color: RGB with blue integer value (maximum + 1)
- Color: RGB with blue percentage value (maximum + 1)
- Color: RGB with +0 blue integer value
- Color: RGB with +0 green integer value
- Color: RGB with negative blue integer value
- Color: RGB with negative blue integer value
- Color: Hex two digit #ff
- Color: RGB three digit red (minimum)
- Color: RGB three digit red (minimum+1)
- Color: RGB three digit red (nominal)
- Color: RGB three digit red (maximum - 1)
- Color: RGB three digit red (maximum)
- Color: RGB three digit red (maximum + 1)
- Color: Hex three digit #fff (maximum)
- Color: Hex three digit #ggg (maximum +1)
- Color: RGB three digit green (minimum+1)
- Color: RGB three digit green (nominal)
- Color: RGB three digit green (maximum - 1)
- Color: RGB three digit green (maximum)
- Color: RGB three digit green (maximum + 1)
- Color: Hex three digit #999
- Color: Hex three digit #ffe
- Color: RGB three digit blue (minimum+1)
- Color: RGB three digit blue (nominal)
- Color: RGB three digit blue (maximum - 1)
- Color: RGB three digit blue (maximum)
- Color: RGB three digit blue (maximum + 1)
- Color: Five digit hex #fffff (minimum -1)
- Color: Six digit hex #000000 (minimum)
- Color: RGB six digit red (minimum+1)
- Color: RGB six digit red (nominal)
- Color: RGB six digit red (maximum - 1)
- Color: RGB six digit red (maximum)
- Color: RGB six digit red (maximum + 1)
- Color: Hex six digit #999999 (nominal)
- Color: Hex six digit #eeeeee (maximum -1)
- Color: RGB six digit green (minimum+1)
- Color: RGB six digit green (nominal)
- Color: RGB six digit green (maximum - 1)
- Color: RGB six digit green (maximum)
- Color: RGB six digit green (maximum + 1)
- Color: Hex six digit #gggggg (maximum +1)
- Color: Hex six digit #ffffff (maximum)
- Color: RGB six digit blue (minimum+1)
- Color: RGB six digit blue (nominal)
- Color: RGB six digit blue (maximum - 1)
- Color: RGB six digit blue (maximum)
- Color: RGB six digit blue (maximum + 1)
- Background-color
- Background on html and body element
- Background resets all background settings
- Background set to red on body
- Background-color set to 3 digit hex on h1 element (spec example)
- Transparent background-image with background-color
- Background-image none on paragraph element (spec example)
- Background-position with on value given
- Background-position set to keyword length
- Background-position set to keyword percentage
- Background-position set to length keyword
- Background-position set to length percentage
- Background-position set to percentage keyword
- Background-position set to percentage length
- Background-position set to left in first position
- Background-position set to right in first position
- Background-position set to top in first position
- Background-position set to bottom in first position.
- Background-position set to top in valid position.
- Background-position set to bottom in second position.
- Background-position set to left in second position
- Background-position set to right in second position
- Background-image tiling over content
- Background-image tiling over padding
- Background-image tiling over margin
- Background-image tiling over margin with fixed background-attachment
- Color set to WindowsText
- Color set to red on em elements (spec example)
- Color set to rgb(255, 0 ,0) on em elements (spec example)
- Properties
- Chapter 16
- Properties
- Text-align
- Text-decoration
- Text-decoration underline on simple paragraph element
- Text-decoration overline on simple paragraph element
- Text-decoration line-through on simple paragraph element
- Text-decoration blink on simple paragraph element
- Text-decoration none on simple paragraph element
- Text-decoration inherit on simple paragraph element
- Text-transform
- Text-decoration on inline elements with multiple boxes
- Text-decoration inheritance to inline elements.
- Text-decoration inheritance to block level elements
- Text-decoration on floated children
- Text-decoration on absolutely positioned children
- Text-decoration on inline-table children
- Text-decoration on inline-block children
- Text-decoration underline on whitespace
- Text-decoration overline on whitespace
- Text-decoration line-through on whitespace
- Text-decoration underline on margin
- Text-decoration overline on margin
- Text-decoration line-through on margin
- Text-decoration underline on border
- Text-decoration overline on border
- Text-decoration line-through on border
- Text-decoration underline on padding
- Text-decoration overline on padding
- Text-decoration line-through on padding
- Text-decoration on images
- Text-decoration on ancestors
- Text-decoration underline across elements with different font-sizes
- Text-decoration with color
- Text-transform on h1 element
- White-space pre vs. pre element
- White-space normal vs. p elements
- White-space nowrap vs. nowrap attribute
- Whitespace pre-line vs. :before assignment
- White-space pre-wrap vs. wrap attribute
- Block level elements with text and white-space
- White-space normal with tab adjoining linefeed
- White-space nowrap with tab adjoining linefeed
- White-space pre-line with tab adjoining linefeed
- White-space normal with carriage return adjoining linefeed
- White-space nowrap with carriage return adjoining linefeed
- White-space pre-line with carriage return adjoining linefeed
- White-space normal with space adjoining linefeed
- White-space nowrap with space adjoining linefeed
- White-space pre-line with space adjoining linefeed
- White-space pre with sequence of spaces
- White-space pre-wrap with sequence of spaces
- White-space pre-wrap and line opportunity with sequence of spaces
- White-space normal and linefeed characters
- White-space nowrap and linefeed characters
- White-space pre and linefeed characters
- White-space pre-line and linefeed characters
- White-space pre-wrap and linefeed characters
- White-space normal and tabs
- White-space nowrap and tabs
- White-space pre-line and tabs
- Two spaces adjoining with whitespace normal/normal
- Two spaces adjoining with whitespace normal/nowrap
- Two spaces adjoining with whitespace normal/pre-line
- Two spaces adjoining with whitespace nowrap/normal
- Two spaces adjoining with whitespace nowrap/nowrap
- Two spaces adjoining with whitespace nowrap/pre-line
- Two spaces adjoining with whitespace pre-line/normal
- Two spaces adjoining with whitespace pre-line/nowrap
- Two spaces adjoining with whitespace pre-line/pre-line
- Two spaces adjoining with whitespace normal/pre
- Two spaces adjoining with whitespace normal/pre-wrap
- Two spaces adjoining with whitespace nowrap/pre
- Two spaces adjoining with whitespace nowrap/pre-wrap
- Two spaces adjoining with whitespace pre-line/pre
- Two spaces adjoining with whitespace pre-line/pre-wrap
- White-space normal and space at beginning of line
- White-space nowrap and space at beginning of line
- White-space pre-line and space at beginning of line
- White-space pre-wrap and space at beginning of line
- White-space pre and space at beginning of line
- Tab Width
- White-space normal and space at end of line
- White-space nowrap and space at end of line
- White-space pre-line and space at end of line
- Properties
- Chapter 17
- Properties
- Border Conflict Resolution (element) - cell vs. cell - element with highest priority is the dominant border
- Border Conflict Resolution (element) - cell vs. cell - element with highest priority is the dominant border (rtl table)
- Border Conflict Resolution (by element): cell vs. row - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. row - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. column - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. column - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. column group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. column group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): cell vs. table - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. cell - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. row - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. column - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. column group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row vs. table - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. cell - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. row - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. column - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. column group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): row group vs. table - element with highest priority is the dominant border
- Border Conflict Resolution (by element): column vs. cell - element with highest priority is the dominant border
- Border Conflict Resolution (by element): column vs. row - element with highest priority is the dominant border
- Border Conflict Resolution (by element): column vs. row group - element with highest priority is the dominant border
- Border Conflict Resolution (by element): column vs. column - element with highest priority is the dominant border
- Cell borders are set by a cell
- Cell borders are set by a row
- Cell borders are set by a row group
- Cell borders are set by a column
- Cell borders are set by a column group
- Cell borders are set by the table
- Border Conflict Resolution (by border style): dashed vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. hidden - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. inset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. none - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. outset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. ridge - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dashed vs. solid - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. hidden - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. inset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. none - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. outset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. ridge - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): dotted vs. solid - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. hidden - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. inset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. none - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. outset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. ridge - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): double vs. solid - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. hidden - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. inset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. none - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. outset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. ridge - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): groove vs. solid - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. hidden - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. inset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. none - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. outset - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. ridge - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): hidden vs. solid - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): inset vs. dashed - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): inset vs. dotted - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): inset vs. double - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): inset vs. groove - border with highest priority border style should dominate
- Border Conflict Resolution (by border style): inset vs. hidden - border with highest priority border style should dominate
- Chapter 18