Previous Message
Next Message

Feedback on rounded corners for a menu

Sent by MATTHEW BERNHARDT on 8 January 2007 05:05


Hello all,
  I've been trying to apply the various techniques listed on the Wiki for rounded corners,
especially the one listed on Albin.net[1] - and I've got a few questions for the collective wisdom.
  What I'm aiming for is to have rounded corners on all 4 corners of each of the items in a menu.
This leads me to several apparent constraints:

1 - Because all 4 corners will need to be rounded, the sliding doors[2]technique doesn't seem like
it will work as that technique only provides for 2 sides, not 4 corners.

2 - As a menu, the markup I'm working with should ideally be a list. This complicates many of the
techniques I've seen (including Albin.net) which rely on nested <div>'s because <li>'s (inline)
can't contain <div>'s (block). I've tried to convert this technique to using <span>'s, but have been
running into problems with IE adding space to the menu items.

3 - Another aspect of menus is that the typically don't have a lot of text to use for hooks for CSS.
A lot of very clean techniques [3] rely on many elements in the rounded element to achieve their
effects - something I don't have available. I'm currently trying to use <span>'s.

4 - This one has me pulling out what little hair remains - I'm up against a self-imposed limit for
the number of images on these pages, so I'm trying to combine rounded corner images into 1 and then
use clipping to select only the corner I'm interested in. This (IIRC) introduces the necessity for
absolute positioning.

Am I correct in these constraints, or have I missed something along the way?

Assuming that the above constraints are valid, here is a page which demonstrates the code I've been
working on:

http://morphosis7.byethost12.com/sandbox/clip5.php

CSS and HTML are visible in the source, but the gist of the HTML is (for one menu option) :

<li class="item1"><img class="testul" alt="" src="clipround.gif" width="6" height="6" /><img
class="testur" alt="" src="clipround.gif" width="6" height="6" /><img class="testll" alt=""
src="clipround.gif" width="6" height="6" /><img class="testlr" alt="" src="clipround.gif" width="6"
height="6" />Knowlton School</li>

And, the CSS:

* {
padding: 0px;
margin: 0px;
}
body {
	background-color: #CCCCCC;
}
li {
	position: relative;
	margin: .5em;
	padding: 0 4px;
	color: black;
	font-weight: bold;
}
li img {
	position: absolute;
	overflow: hidden;
	height: 6px;
	width: 6px;
}
..item1 {
	background-color: #ff0099;
}
..testul {
	left: 0px;
	top: 0px;
	clip: rect(0px 3px 3px 0px);
}
..testur {
	right: 0px;
	top: 0px;
	clip: rect(0px 6px 3px 3px);
}
..testll {
	left: 0px;
	bottom: 0px;
	clip: rect(3px 3px 6px 0px);
}
..testlr {
	right: 0px;
	bottom: 0px;
	clip: rect(3px 6px 6px 3px);
}

My questions right now are first - am I needlessly limiting myself in the 4 constraints above, and
second - is there a technique out there already that satisfies them - particularly the ability to
use <span>'s instead of <div>'s, and also take advantage of the clip property? Or should I continue
to try and develop down the road I've started (which at this point means getting IE 6 and earlier to
function - IE 7, Firefox, Opera and Safari all seem to display what's there now correctly)

Thanks for any feedback,
Matt

[1]http://www.albin.net/CSS/roundedCorners/
[2]http://www.alistapart.com/articles/slidingdoors/
[3]http://tutorials.alsacreations.com/cadre/

______________________________________________________________________
css-discuss [EMAIL-REMOVED]]
http://www.css-discuss.org/mailman/listinfo/css-d
IE7 information -- http://css-discuss.incutio.com/?page=IE7
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/
Previous Message
Next Message

Message thread: