Solution Time
It's that time again (already) to show the solution and nominate a winner.
Thanks to Tommy for allowing me to use his work for this quiz (and thanks to Erik for suggesting it would make a good quiz). It was quite a difficult quiz and needed a good sense of logic and planning to accomplish.
However, we still had a number of entries from the following people who should all be congratulated:
Ro0bear, Centauri, Vim.f, Rafles, Yurikolovsky, coothead, k3liutzu, Stomme Poes, Tyssen. (If I've missed anyone just shout and I'll add you).
After some consideration the first place decided on a number of crirteria is a tie between Tyssen and Centauri so they are the joint winners.
Well done to both 
Third place could also be shared between Stomme Poes and Vim.F.
RoObear had the quickest entry although there were a few little problems with it but still well done on the quickest (if not perfect) solution.
I won't post all the solutions but just the winning ones this time.
We'll start with Tommy's original.
Tommy:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Organisation Chart</title>
<style>
* {margin:0; padding:0}
html {font:81.25%/1.5 Verdana,sans-serif}
body {padding:1em; overflow:hidden}
dl, dt.sub+dd ul li {border:1px solid #009; padding:0 0.5em; background-color:#def}
dl dl {border:none; background-color:transparent}
dt {color:#006; font-weight:bold}
h1 {margin-bottom:1em; text-align:center; font-size:150%}
h2 {position:absolute; left:1em; font-size:x-small; font-weight:normal}
dl+h2 {padding-top:1.5em}
li {list-style-type:none}
h1+dl {width:10em; margin:0 auto; text-align:center}
dl+h2+ul {position:relative; width:50%; margin-left:50%; border-left:1px solid #000; padding:2em 0 3em}
dl+h2+ul li {width:10em; border-top:1px solid #000}
dl+h2+ul li+li {position:absolute; top:2em; right:100%}
dl+h2+ul li dl {position:relative; bottom:1em; left:2em}
dl+h2+ul li+li dl {right:2em; left:auto}
ul+h2+ul {width:62em; margin:0 auto}
ul+h2+ul>li {float:left; position:relative; right:9em; width:20em; margin-right:-1px; border:solid #000; border-width:0 1px 0 0}
ul+h2+ul>li+li {border-top-width:1px}
ul+h2+ul li>dl {position:relative; top:1em; left:50%; margin:0 0.5em; padding:0}
ul+h2+ul li>dl>dt {background-color:#789; color:#fff; text-align:center}
ul+h2+ul li dl dl {padding:0 0.5em}
ul+h2+ul li dl dl dt {float:left; clear:left; width:8em}
dt.sub {position:absolute; left:-999em}
dt.sub+dd {position:absolute; top:100%; left:50%; height:1em; margin-top:1px; border-left:1px solid #000}
dt.sub+dd ul {position:relative; top:1em; right:4.5em; width:9em; height:1em; margin-left:-1px; border:solid #000; border-width:1px 1px 0}
dt.sub+dd ul li {float:left; position:relative; top:1em; right:4em; width:7em; line-height:3.0; text-align:center}
dt.sub+dd ul li+li {top:-2em; right:-5em; margin-top:-2px; line-height:1.5}
</style>
</head>
<body>
<h1>Organisation</h1>
<dl>
<dt>President</dt>
<dd>A. Andrews</dd>
</dl>
<h2>Support Staff</h2>
<ul>
<li>
<dl>
<dt>Vice President</dt>
<dd>B. Burns</dd>
</dl>
</li>
<li>
<dl>
<dt>Secretaries</dt>
<dd>C. Colins</dd>
<dd>D. Dylan</dd>
</dl>
</li>
</ul>
<h2>Divisions</h2>
<ul>
<li>
<dl>
<dt>Economy</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>E. Ericson</dd>
<dt>Secretary</dt>
<dd>F. Fitzgerald</dd>
<dt>Employees</dt>
<dd>25</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Marketing</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>G. Glockstettner</dd>
<dt>Secretary</dt>
<dd>H. Holmes</dd>
<dt>Employees</dt>
<dd>14</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Products</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>I. Irkwell</dd>
<dt>Secretary</dt>
<dd>J. Jones</dd>
<dt>Employees</dt>
<dd>89</dd>
<dt class="sub">Subdivisions</dt>
<dd>
<ul>
<li>Manufacturing</li>
<li>Quality Assurance</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</body>
</html>
Tyssen:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Organisation Chart</title>
<style type="text/css">
body {
background: #FFF;
font: 80%/1.5 Verdana, Arial, Helvetica, sans-serif;
text-align: center
}
h1 {
font-size: 150%
}
ul, li, dl, dt, dd {
margin: 0;
padding: 0;
position: relative
}
ul {
list-style: none
}
h2 {
font-size: 82.5%;
font-weight: normal;
margin-bottom: -.5em;
position: relative;
text-align: left
}
dt {
font-weight: bold
}
h1 + dl {
border-left: 1px solid #000;
height: 14em;
left: 5em;
margin: 0 auto;
margin-bottom: -11.5em;
width: 10em;
z-index: 1
}
h1 + dl dt, h1 + dl dd {
background: #DDEEFF;
border: 1px solid #009;
left: -5em;
position: absolute;
top: 0;
width: 10em;
}
h1 + dl dt {
border-bottom: 0
}
h1 + dl dd {
border-top: 0;
top: 1.5em
}
dl + h2 {
top: 1em
}
dl + h2 + ul {
border-top: 1px solid #000;
margin: 0 auto;
top: 1em;
width: 20em
}
dl + h2 + ul li {
background: #DDEEFF;
border: 1px solid #009;
left: 12em;
padding: 0 .5em;
position: absolute;
text-align: left;
top: -1em;
width: 10em;
}
dl + h2 + ul li + li {
left: -3em
}
ul + h2 {
margin-top: 7em
}
ul + h2 + ul {
border-top: 1px solid #000;
margin: 0 auto;
width: 40em;
z-index: 10;
}
ul + h2 + ul > li {
border: 1px solid #000;
border-width: 0 0 0 1px;
height: 2em;
left: 0;
position: absolute;
width: 0;
}
ul + h2 + ul li + li {
border-width: 0;
left: 5em
}
ul + h2 + ul li + li + li {
border-width: 0 1px 0 0;
left: 40em;
margin-left: -1px
}
ul + h2 + ul dt {
background: #789;
color: #FFF;
min-height: 0
}
ul + h2 + ul dl {
background: #DDEEFF;
border: 1px solid #009;
position: absolute;
top: 1em;
width: 19em;
}
ul + h2 + ul li dl, ul + h2 + ul li + li + li dl {
left: -10em
}
ul + h2 + ul li + li dl {
left: 5em
}
ul + h2 + ul dl dl {
border: 0;
position: static
}
ul + h2 + ul dl dl dt, ul + h2 + ul dl dl dd {
background: #DDEEFF;
color: #000;
padding: 0 .5em;
text-align: left;
}
ul + h2 + ul dl dl dt {
float: left;
width: 8em;
}
ul + h2 + ul dl dl dd {
margin-left: 8em;
}
.sub, .sub + dd {
background: none;
position: absolute;
text-indent: -999em;
}
.sub {
border-left: 1px solid #000;
height: 1em;
left: 10em;
width: 1px
}
.sub + dd {
border-top: 1px solid #000;
left: -2.5em;
top: 5.4em;
width: 8em
}
.sub + dd ul {
border: 1px solid #000;
border-width: 0 1px;
height: 1.5em;
left: -.5em;
width: 8.85em
}
.sub + dd li {
background: #DDEEFF;
border: 1px solid #009;
color: #000;
height: 3.2em;
left: -4em;
line-height: 3.2em;
position: absolute;
text-align: center;
text-indent: 0;
top: 1em;
vertical-align: middle;
width: 8em
}
.sub + dd li + li {
left: 5em;
line-height: 1.5
}
</style>
</head>
<body>
<h1>Organisation</h1>
<dl>
<dt>President</dt>
<dd>A. Andrews</dd>
</dl>
<h2>Support Staff</h2>
<ul>
<li>
<dl>
<dt>Vice President</dt>
<dd>B. Burns</dd>
</dl>
</li>
<li>
<dl>
<dt>Secretaries</dt>
<dd>C. Colins</dd>
<dd>D. Dylan</dd>
</dl>
</li>
</ul>
<h2>Divisions</h2>
<ul>
<li>
<dl>
<dt>Economy</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>E. Ericson</dd>
<dt>Secretary</dt>
<dd>F. Fitzgerald</dd>
<dt>Employees</dt>
<dd>25</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Marketing</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>G. Glockstettner</dd>
<dt>Secretary</dt>
<dd>H. Holmes</dd>
<dt>Employees</dt>
<dd>14</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Products</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>I. Irkwell</dd>
<dt>Secretary</dt>
<dd>J. Jones</dd>
<dt>Employees</dt>
<dd>89</dd>
<dt class="sub">Subdivisions</dt>
<dd>
<ul>
<li>Manufacturing</li>
<li>Quality Assurance</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</body>
</html>
Centauri:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Organisation Chart</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 80%;
line-height: 1.5em;
}
h1 {
text-align: center;
font-size: 150%;
line-height: 3em;
}
h2 {
font-weight: normal;
font-size: 80%;
clear: both;
padding-top: 1em;
}
dl+h2 {
width: 50%;
border-right: 1px solid black;
padding-bottom: 10em;
margin-bottom: -10em;
}
dl {
background-color: #DDEEFF;
border: 1px solid #000099;
width: 10em;
margin: 0 auto;
text-align: center;
padding: 0 0.4em;
}
dt, dl+h2+ul dt, dl dl dt {
font-weight: bold;
color: #000099;
background-color: #DDEEFF;
}
ul {
border: 1px solid black;
border-bottom: 0;
width: 40em;
margin: -1em auto 0;
padding-top: 1em;
}
li {
list-style: none;
float: left;
width: 20em;
position: relative;
}
li:first-child {
margin-left: -10em;
}
li+li+li {
margin-right: -10em;
}
ul dl {
text-align: left;
width: 18em;
}
ul dt {
background-color: #778899;
color: #FFFFFF;
text-align: center;
margin: 0 -0.4em;
}
dl+h2+ul dt {
text-align: left;
margin: 0;
}
dl dl dt {
float: left;
width: 8em;
text-align: left;
margin: 0;
}
dl dl {
border: 0;
width: auto;
padding: 0;
background: none;
}
dl+h2+ul {
width: 25em;
border-width: 1px 0 0;
text-align: left;
margin-top: 0px;
padding: 0;
}
dl+h2+ul dl {
width: 9em;
margin: 0;
}
dl+h2+ul li {
width: auto;
margin: -10px 0 0;
}
dl+h2+ul li:first-child {
float: right;
}
dt.sub {
float: none;
width: 1px;
overflow: hidden;
background-color: #000000;
height: 1em;
margin: 0 auto -1em;
}
dt.sub+dd {
position: absolute;
top: 8em;
width: 18em;
left: 1.2em;
}
ul ul {
width: 8.5em;
background-color: #FFFFFF;
}
ul ul li {
width: 8em;
background-color: #DDEEFF;
border: 1px solid #000099;
height: 3.1em;
margin-right: -4.5em;
text-align: center;
}
ul ul li:first-child {
margin-left: -4.5em;
margin-right: 1em;
line-height: 3em;
}
</style>
</head>
<body>
<h1>Organisation</h1>
<dl>
<dt>President</dt>
<dd>A. Andrews</dd>
</dl>
<h2>Support Staff</h2>
<ul>
<li>
<dl>
<dt>Vice President</dt>
<dd>B. Burns</dd>
</dl>
</li>
<li>
<dl>
<dt>Secretaries</dt>
<dd>C. Colins</dd>
<dd>D. Dylan</dd>
</dl>
</li>
</ul>
<h2>Divisions</h2>
<ul>
<li>
<dl>
<dt>Economy</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>E. Ericson</dd>
<dt>Secretary</dt>
<dd>F. Fitzgerald</dd>
<dt>Employees</dt>
<dd>25</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Marketing</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>G. Glockstettner</dd>
<dt>Secretary</dt>
<dd>H. Holmes</dd>
<dt>Employees</dt>
<dd>14</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Products</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>I. Irkwell</dd>
<dt>Secretary</dt>
<dd>J. Jones</dd>
<dt>Employees</dt>
<dd>89</dd>
<dt class="sub">Subdivisions</dt>
<dd>
<ul>
<li>Manufacturing</li>
<li>Quality Assurance</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</body>
</html>
Stomme Poes:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Organisation Chart</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
min-width: 1000px; /*be safe*/
padding: 0 10px;
font: 100% sans-serif;
color: #000;
background-color: #fff;
}
h1 {
margin: 1em 0;
text-align: center;
font-size: 1.6em;
}
h2 {
font-size: .7em;
font-weight: normal;
}
dl, .sub+dd ul li {
border: 1px solid #009;
background-color: #def;
}
h1+dl {
position: relative; /*for z-index*/
z-index: 5; /*only needed for extreme text-decreasing*/
width: 6em;
margin: 0 auto 2em;
padding: 0 2em;
}
dt {
font-weight: bold;
color: #006;
}
dd {
font-size: 1em;
}
ul {
list-style: none;
}
h1+dl+h2 {
width: 50%;
margin: -3em 0 0 0;
padding: 2em 0 16em;
border-right: 1px solid #000;
}
h1+dl+h2+ul {
width: 24em;
margin: -11em auto 10em;
padding: 0;
border-top: 1px solid #000;
}
h1+dl+h2+ul li {
float: left;
width: 10em;
margin-top: -1em;
}
h1+dl+h2+ul li:first-child {
float: right;
width: 9em;
}
h1+dl+h2+ul li dl {
padding-left: .5em;
}
h2+ul+h2 {
margin-top: -5em;
padding-bottom: 8em;
}
h2+ul+h2+ul {
width: 40em;
padding: 1em 0 0 0;
margin: -6.5em auto 0;
border: 1px solid #000;
border-bottom: 0;
}
h2+ul+h2+ul li {
float: left;
width: 20em;
margin-right: 1em;
}
h2+ul+h2+ul li:first-child {
margin-left: -11em;
margin-right: 1em;
}
h2+ul+h2+ul>li+li+li {
margin-right: -20em;
padding-bottom: 0;
}
h2+ul+h2+ul li>dl {
width: 20em;
text-align: center;
position: relative;
z-index: 5;
background-color: #789;
}
h2+ul+h2+ul li>dl dt {
color: #fff;
}
h2+ul+h2+ul li>dl>dt:hover {
text-indent: -9999em;
background:url(http://stommepoes.nl/Tests/lawlz.gif) 50% 50% no-repeat;
min-height:0
}
h2+ul+h2+ul li>dl dt+dd dl {
padding-left: 5px;
text-align: left;
border: 0;
}
h2+ul+h2+ul li>dl dt+dd dt {
float: left;
clear: left; /*IE7*/
width: 40%;
color: #006;
}
dt.sub {
float: none;
position: absolute;
width: 8.8em;
height: 1.2em;
margin-top: 0;
text-indent: -9999em;
border-right: 1px solid #000;
}
dt.sub+dd ul {
position: absolute;
right: 5.5em;
width: 10em;
margin-top: 1.2em;
border: 1px solid #000;
border-bottom: 0;
}
dt.sub+dd ul li {
position: relative;
left: 6.5em;
width: 7.5em;
min-height: 2.5em;
margin-top: 1em;
text-align: center;
}
dt.sub+dd ul li:first-child {
line-height: 2.5em;
}
</style>
</head>
<body>
<h1>Organisation</h1>
<dl>
<dt>President</dt>
<dd>A. Andrews</dd>
</dl>
<h2>Support Staff</h2>
<ul>
<li>
<dl>
<dt>Vice President</dt>
<dd>B. Burns</dd>
</dl>
</li>
<li>
<dl>
<dt>Secretaries</dt>
<dd>C. Colins</dd>
<dd>D. Dylan</dd>
</dl>
</li>
</ul>
<h2>Divisions</h2>
<ul>
<li>
<dl>
<dt>Economy</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>E. Ericson</dd>
<dt>Secretary</dt>
<dd>F. Fitzgerald</dd>
<dt>Employees</dt>
<dd>25</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Marketing</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>G. Glockstettner</dd>
<dt>Secretary</dt>
<dd>H. Holmes</dd>
<dt>Employees</dt>
<dd>14</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Products</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>I. Irkwell</dd>
<dt>Secretary</dt>
<dd>J. Jones</dd>
<dt>Employees</dt>
<dd>89</dd>
<dt class="sub">Subdivisions</dt>
<dd>
<ul>
<li>Manufacturing</li>
<li>Quality Assurance</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</body>
</html>
Vim.F:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Organisation Chart</title>
<style type="text/css">
/* preparation */
* {
margin:0;
padding:0;
}
body {
text-align:center;
font-size:100%;
}
h1 {
text-align:center;
margin:1em 0;
}
h2 {
font-size:.69em;
font-weight:400;
line-height:3;
text-align:left;
clear:both;
}
ul {
margin:0 auto;
list-style:none outside;
}
ul li {
float:left;
}
dl {
border:1px solid #000;
background:#ddeeff;
}
dt {
font-weight:700;
}
dd dt {
float:left;
clear:left;
}
dd dd {
float:right;
clear:right;
}
/* 1st row */
h1+dl {
width:9.38em;
margin:0 auto;
}
h1+dl dd {
border-bottom:1px solid #000;
padding:0 0 3em;
margin:0 0 -3em;
position:relative;
}
/* 2nd row */
dl+h2+ul {
width:19.69em;
}
dl+h2+ul li {
position:relative;
z-index:1;
float:right;
}
dl+h2+ul li dl {
width:8.13em;
text-align:left;
}
dl+h2+ul li+li {
float:left;
border-right:1px solid #000;
position:relative;
margin:-2.1em -1.56em -2.1em 0;
padding:2.1em 1.56em 2.1em 0;
}
/* 3rd row */
ul+h2+ul {
width:46.88em;
}
ul+h2+ul li {
margin:0 25px 0 0;
position:relative;
z-index:3;
border-bottom:2em solid #fff;
}
ul+h2+ul li+li {
border:solid #000;
border-width:1px 1px 0;
z-index:1;
margin:-1.06em -8.75em 0;
padding:1em 8.75em 0;
}
ul+h2+ul li+li+li {
float:right;
border:none;
z-index:3;
margin:0;
padding:0;
}
ul+h2+ul dl {
width:14.38em;
float:left;
color:#fff;
background:#778899;
}
ul+h2+ul dd dl {
color:#000;
background:#ddeeff;
border:none;
}
ul+h2+ul dd dl dd {
width:8.13em;
text-align:left;
}
ul+h2+ul li+li dd dl dd+dt+dd+dt+dd {
border-right:1px solid #000;
padding:0 8.89em 1.06em 0;
margin:0 -8.89em -1.06em 0;
position:relative;
}
ul+h2+ul li+li+li dd dl dd+dt+dd+dt+dd {
border-right:none;
margin:0;
padding:0;
}
/* 4th row */
.sub {
top:1em;
position:relative;
float:none;
margin:0 auto -2.06em;
width:8em;
height:2em;
overflow:hidden;
text-indent:-999em;
border:;
clear:both;
border:solid #000;
border-width:1px 1px 0;
background:#fff;
}
.sub+dd {
height:0;
width:14.38em;
margin:0 auto;
}
body ul ul {
width:14.38em;
clear:both;
}
body ul ul li {
top:2em;
border:1px solid #000;
background:#ddeeff;
margin:0 0 -2.06em 0;
padding:.5em 5px;
float:left;
display:inline;
}
body ul ul li+li {
top:2em;
border:1px solid #000;
background:#ddeeff;
margin:0 0 -2.06em 0;
padding:.5em 5px;
float:right;
}
</style>
</head>
<body>
<h1>Organisation</h1>
<dl>
<dt>President</dt>
<dd>A. Andrews</dd>
</dl>
<h2>Support Staff</h2>
<ul>
<li>
<dl>
<dt>Vice President</dt>
<dd>B. Burns</dd>
</dl>
</li>
<li>
<dl>
<dt>Secretaries</dt>
<dd>C. Colins</dd>
<dd>D. Dylan</dd>
</dl>
</li>
</ul>
<h2>Divisions</h2>
<ul>
<li>
<dl>
<dt>Economy</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>E. Ericson</dd>
<dt>Secretary</dt>
<dd>F. Fitzgerald</dd>
<dt>Employees</dt>
<dd>25</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Marketing</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>G. Glockstettner</dd>
<dt>Secretary</dt>
<dd>H. Holmes</dd>
<dt>Employees</dt>
<dd>14</dd>
</dl>
</dd>
</dl>
</li>
<li>
<dl>
<dt>Products</dt>
<dd>
<dl>
<dt>Manager</dt>
<dd>I. Irkwell</dd>
<dt>Secretary</dt>
<dd>J. Jones</dd>
<dt>Employees</dt>
<dd>89</dd>
<dt class="sub">Subdivisions</dt>
<dd>
<ul>
<li>Manufacturing</li>
<li>Quality Assurance</li>
</ul>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</body>
</html>
Well done to all the entries and feel free to post your entry below if you want others to see it.
You can all have a few days rest now before the next quiz
Bookmarks