
I have a self-changing button that insists on having a line all to itself instead of sitting neatly between other things. Here's the code: <fieldset class="repeating_repF"> <input name="attr_FR" type="number" style="width:50px; background-color:rgba(0, 0, 0, 0.0); border-color:rgba(0, 0, 0, 0.0);" value="1" min="0" max=2 /> <input class="sheet-th sheet-th0" type="checkbox" name="attr_FR" value="0"><!-- TH0 --> <input class="sheet-th sheet-th1" type="checkbox" name="attr_FR" value="1"><!-- TH1 --> <input class="sheet-th sheet-th2" type="checkbox" name="attr_FR" value="2"><!-- TH2 --> <div class="sheet-thshow-TH0"><button type="action" type="number" name="act_frup"><img src="<a href="https://i.imgur.com/pEcetrP.png"></button" rel="nofollow">https://i.imgur.com/pEcetrP.png"></button</a>> </div> <div class="sheet-thshow-TH1"><button type="action" type="number" name="act_frup"><img src="<a href="https://i.imgur.com/KJBcKiT.png"></button" rel="nofollow">https://i.imgur.com/KJBcKiT.png"></button</a>> </div> <div class="sheet-thshow-TH2"><button type="action" type="number" name="act_frup"><img src="<a href="https://i.imgur.com/X5w0cGn.png"></button" rel="nofollow">https://i.imgur.com/X5w0cGn.png"></button</a>> </div> Whatever </fieldset> <script type="text/worker"> on('clicked:repeating_repF:frup', function() { getAttrs(['repeating_repF_FR'], function(values) { const repeating_repF_FRnew = +values.repeating_repF_FR || 0; setAttrs({ "repeating_repF_FR": (repeating_repF_FRnew + 1) % 3 }); }); }); </script> /*----------- Three Display Setup -------------*/ /*this hides the contents of each section by default*/ .charsheet div[class^="sheet-thshow"] { display: none; } /*this shows the tw content when the appropriate input field is selected*/ .charsheet input.sheet-th0:checked ~ div.sheet-thshow-TH0, .charsheet input.sheet-th1:checked ~ div.sheet-thshow-TH1, .charsheet input.sheet-th2:checked ~ div.sheet-thshow-TH2 { display: block; } /*this hides the button*/ .charsheet input.sheet-th { width: 0px; height: 0px; opacity: 0; display: none; } /*----------- End Three Display Setup -----------*/ This produces: The '0' is a number attribute (attr_FR) that can only be set to 0, 1 or 2. The white circle is a button. When the button is clicked the sheetworker increases the value of the attribute by 1 but within mod 3 (so 0 changes to 1, 1 changes to 2 and 2 changes to 0). There are three instances of the button (each with a different image) and the attribute value with the CSS controls which is displayed. I.e. Clicking on the white circle increases FR to 1 which then displays the button as a green circle. Clicking the green circle changes FR to 2 which displays a red circle. Clicking the red circle changes FR back to 0 and displays the white circle again. This is all working fine, but what I need to do is display the attribute, the button and the 'Whatever' text all on the same line. I can't use tables (at least not the old <tr> <td> way) because it's all in a repeating section and that would stop the sheetworker doing its thing. Tried columns (i.e. <div class="2colrow">) but they don't work here - just puts everything in the first column. Any ideas on how I cane make them all sit on the same line? Would CSS Grid work? Or is there a different way to achieve this button effect that would avoid the carriage return issue?