Forum Moderators: not2easy
<style type=text/css>
#menu a {background:gainsboro; padding:3px; border:2px outset}
#menu a:visited {background:pink; padding:3px; border:2px outset}
</style>
<div id=menu>
<a href="1.htm">one</a>
<a href="2.htm">two</a>
<a href="3.htm">three</a>
</div>
The color of borders drawn for values of 'groove', 'ridge', 'inset', and 'outset' depends on the element's border color properties, but UAs may choose their own algorithm to calculate the actual colors used. For instance, if the 'border-color' has the value 'silver', then a UA could use a gradient of colors from white to dark gray to indicate a sloping border.The result is that UA's have considerable discretion when drawing border-colors. That increases when there is no border-color specified so the initial value defaults to that specified for color, and the discretion further increases when no value has been specified for colour either.
Interesting that in Chrome/Safari the default border-color, when using the outset style, appears to be based on the background-color, rather than the color property.I thought so too until I did some further investigating. Now it seems that it was just good luck that MichaelBluejay chose gainsboro, which is a shade of grey. On closer inspection unless a border-color is explicitly set, winSafari (I don't run Chrome) reports "initial" as the border-color under element style, and if you inspect the computed style with inherited ticked that is specified as #fff (white) which resolves to #eee and #9A9A9A - shades of grey.
I understand that border-outset is gonna be rendered differently in different browsers.At this stage yes - but note the effect can be simulated by explisitly setting each border colour using something like