The $reveal position="..." param is a keyword value that is only used when type="popup",
and calculates the placement of the $reveal popup, based on the $button that triggers it.
If you want to override the popup $reveal positioning, then in the $reveal, don't use
<$reveal state="..." type="popup" position="...">
Instead use
<$reveal state="..." type="nomatch" text="" style="position:relative">
(note this "position" is CSS syntax, not a widget keyword!)
Then, in the *content* of the reveal you specify a class or style, where you use position:absolute
and any offsets you want, like this:
<$button popup=<<qualify "$:/state/popup/foo">> actions=<<someactions>> class="tc-button">
click me!
</$button>
<$reveal state=<<qualify "$:/state/popup/foo">> type="nomatch" text="" style="position:relative">
<div class="tc-drop-down" style="position:absolute;left:5em;top:5em">
popup content here
</div>
</$reveal>
The position of the "pseudo-popup" is relative to the normal default placement of the $reveal content. Thus,
in the above example, the $reveal content appears shifted 5em to the right and 5em down relative to the bottom-left
corner of the $button that triggers it.
enjoy,
-e