I assume you are stuck with the DL so how about something like this:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Definition List</title>
<style type="text/css">
dl, dt, dd { margin:0 }
dl {
width:444px;
background:red;
padding:5px;
overflow:hidden;
position:relative;
z-index:1;
}
dt {
display:inline-block;
vertical-align:top;
width:100px;
padding:5px 20px 5px 5px;
position:relative;
}
dd {
display:inline-block;
vertical-align:top;
width:300px;
padding:5px;
position:relative;
}
dt:nth-child(4n+1):after, dd:nth-child(4n+2):after {
content:" ";
position:absolute;
display:block;/* safari bug */
left:-999em;
top:0;
bottom:0;
right:-999em;
background:blue;
z-index:-1;
}
</style>
</head>
<body>
<h1>Definition List</h1>
<dl>
<dt>Data Term 1</dt>
<dd>The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 2</dt>
<dd>The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 3 is longer than the definition for some strange reason : Data Term 3 is longer than the definition for some strange reason : Data Term 3 is longer than the definition for some strange reason : Data Term 3 is longer than the definition for some strange reason : </dt>
<dd>The definition should go here : The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 4 is longer than the definition for some strange reason : Data Term 3 is longer than the definition for some strange reason : Data Term 3 is longer than the definition for some strange reason : </dt>
<dd>The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 5</dt>
<dd>The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 6 is longer than the definition for some strange reason : Data Term is longer than the definition for some strange reason : Data Term is longer than the definition for some strange reason : Data Term is longer than the definition for some strange reason : </dt>
<dd>The definition should go here : The definition should go here : The definition should go here : The definition should go here : </dd>
<dt>Data Term 7 is longer than the definition for some strange reason : Data Term is longer than the definition for some strange reason : Data Term is longer than the definition for some strange reason : </dt>
<dd>The definition should go here : The definition should go here : The definition should go here : </dd>
</dl>
</body>
</html>
I haven't added any hacks for ie7 and under although you could mimic the inline-block but not the striped row (without a script).
Bookmarks