Thanks, yes that seems to be just the thing I'm after! Unfortunately I can't seem to get it to work. Here's what I've got: <div class="sticky"> HEADER TO ALWAYS APPEAR AT THE TOP REGARDLESS OF PAGE SELECTION AND SCROLLING </div> <div> <button type="action" name="act_character" style="color:#404040;" >Character</button> <button type="action" name="act_moves" style="color:#404040;" >Moves</button> <button type="action" name="act_list" style="color:#404040;" >List</button> </div> <input type='hidden' class='sheet-tabstoggle' name='attr_sheetTab' value='character' /> <div class='sheet-character'> <span> CHARACTER PAGE BODY </span> </div> <div class='sheet-character'> <span> MOVES PAGE BODY </span> </div> <div class='sheet-character'> <span> LIST PAGE BODY </span> </div> <script type="text/worker"> const buttonlist = ["character","moves","list"]; buttonlist.forEach(button => { on(`clicked:${button}`, function() { setAttrs({ sheetTab: button }); }); }); </script> CSS: div.sticky { position: sticky; top: 0; padding: 50px; font-size: 40px; } Can anyone see where I've gone wrong? (It may well be obvious - I'm quite the html-noob!)