This is apparently a limitation / error in the Android browser: it seems that it does not implement text-overflow: ellipsis for any input element.
For example, instead of <input name=foo value="some long string here" width=100%> you can use
<style> .hidden { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; } </style> <div class=hidden>some long string here</div> <input type=hidden name=foo value="some long string here">
There is a simple way for the readonly field: duplicate the data, first in the div element (for example), on which you set text-overflow: ellipsis , and then in the hidden field. You might want the first element to look like a readonly field, but saving it as plain text would make it even more clear to the user that this data could not be edited by conventional means.
As usual, with small devices you usually need something like <meta name="viewport" content="width=device-width,initial-scale=1"> to make 100% match the actual width of the device.
source share