I have this fairly simple form:
<form action="...">
<div>
<input type="text" class="input-text" value="" name="text" />
<input type="submit" class="submit" value="Submit" />
</div>
</form>
The form is sitting inside a fixed-width div (specified in ems).
I want the textfield and button to be a single row, but the textfield width is inconsistent across browsers even when I specify its size attribute. Not wanting to specify exact widths (especially for the button) I was wondering if it was possible to give the textfield a liquid width? I want the textfield to stretch so that both it and the button can fit on a single line.
Yeah
lengthis for character count, not width.You want the text box to fill all available space short of what the button takes up? This is doable with a table (but I consistently get booed on Stack Overflow for suggesting tables). Let’s say for the sake of argument you use DIVs with display:table, but just for simplicity I’ll illustrate with actual table markup.
The width 0 on the button cell might seem odd, but table cells take their widths only as suggestions. It’ll stretch to fit the content no matter how skinny you make it.