We would like to know how to creating a clean unified border around an li and its ul with CSS.
Revised from question http://stackoverflow.com/questions/7778918
<!-- w w w. j a va2 s . c o m-->
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
#header {
position: relative;
height: 64px;
}
#nav ul {
list-style: none;
margin: 0;
padding: 0em;
float: left;
position: relative;
}
#nav li {
float: left;
margin-right: 25px;
}
#nav li#thisli:hover ul {
padding: 0px;
z-index: 350;
}
#nav li#thisli {
background-color: #fff;
border-top-right-radius: 5px 5px;
border-top-left-radius: 5px 5px;
-moz-border-top-left-radius: 5px 5px;
-moz-border-top-right-radius: 5px 5px;
-webkit-border-top-left-radius: 5px 5px;
-webkit-border-top-right-radius: 5px 5px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
border-left: 1px solid #fff;
}
#nav li#thisli:hover {
background-color: #CCD9FF;
border-top: 1px solid #99B3FF;
border-right: 1px solid #99B3FF;
border-bottom: 1px solid #CCD9FF;
border-left: 1px solid #99B3FF;
}
#children li:hover {
background-color: #99B3FF;
}
ul#children li:first-child {
border-top-right-radius: 5px 5px;
-moz-border-top-right-radius: 5px 5px;
-webkit-border-top-right-radius: 5px 5px;
border-left: 1px solid #99B3FF;
border-right: 1px solid #99B3FF;
border-top: 1px solid #B4CDFF;
}
ul#children li:last-child {
border-bottom-right-radius: 5px 5px;
border-bottom-left-radius: 5px 5px;
-moz-border-bottom-left-radius: 5px 5px;
-moz-border-bottom-right-radius: 5px 5px;
-webkit-border-bottom-left-radius: 5px 5px;
-webkit-border-bottom-right-radius: 5px 5px;
border-left: 1px solid #99B3FF;
border-right: 1px solid #99B3FF;
border-bottom: 1px solid #99B3FF;
border-top: 1px solid #B4CDFF;
}
#nav li ul {
display: none;
padding-left: 0px;
position: absolute;
width: 120px;
}
#nav li:hover ul {
display: block;
z-index: 100;
left: 0px;
}
#nav li a {
display: block;
padding: 0.5em;
}
#nav li li {
width: 105%;
}
</style>
</head>
<body>
<div id="header">
<div id="nav">
<ul>
<li id="thisli"><a href="#">Main Element</a>
<ul id="children">
<li><a href="#">First Child</a></li>
<li><a href="#">Second Child</a></li>
</ul></li>
</ul>
</div>
</div>
</body>
</html>
The code above is rendered as follows: