Description of the challenge
Normally all form items will be placed underneath each other in a form on a smartphone:
APEX has the possibility to place form items side by side by disabling the Start New Row attribute for the second item:
On the desktop the result will look like this:
This does not work when the width of the page is less than 640 px, i.e. on most mobile devices, Commission will be placed on a new line:
Analysis
This behavior is caused by CSS. A media query aimed at screens with a width smaller than 640 pixels, determines that the width of the items is 100%. This way no more than one item fits on one row.
Solution
So we need to overrule this CSS. For this we can define this snippet of CSS on the page:
@media (max-width: 640px) { .col.side_by_side { width: 50%; float: left; clear: none; } }
This CSS sets the width of the item to 50% instead of 100%, and applies float:left.
The two items that are supposed to be on one line, should both receive the class side_by_side and the second item should have the property Start new row unchecked:
If you do not want both items to take up half of the row, you can change the width in the Column Attributes. Just make sure that the total width does not exceed 100%, otherwise the items will again be placed underneath each other.
The result of these definitions looks for the columns Salary and Commission looks like:
Happy APEXing!