缩放时形式扭曲

时间:2013-03-10 09:05:04

标签: html css

我有一个带有两个输入元素和一个textarea的表单。当我放大/缩小对象的大小时会发生变化。有没有办法阻止这种行为? 100%变焦看起来没问题,但如果有人使用90%变焦或110%的浏览器,它看起来会扭曲。

<table class="upload" cellpadding="0">
    <tr>
        <td>
                <p><b>Name:</b></p>
        </td>
        <td>
                <input type="text" name="appname" size="50" maxlength="32">
        </td>
   </tr>
    <tr>
        <td>
            <p><b>Age:</b></p>
        </td>
        <td>
                <textarea  name="adtext" cols="39" rows="2" maxlength="75" style="resize: none;"></textarea>
        </td>
    </tr>
    <tr>
        <td>
            <p><b>Website:</b></p>
        </td>
        <td>
            <input type="text" name="marketlink" size="50" maxlength="254">
        </td>
        <td>
            <button type="button" onclick="drawAd()">Test link</button>
         </td>
    </tr>
</table>

CSS:

table.upload {
 border-spacing:0;
  border-collapse:collapse;

}
table.upload td {
border:0px solid black;
margin:0;
padding:0;
}
table.upload td input{
outline: #388c91;
margin-left:4px;
}

table.upload td textarea{
margin-left:4px;
}

结果:

enter image description here

3 个答案:

答案 0 :(得分:1)

使用size / cols属性停止样式元素宽度并改为使用CSS:

table.upload td input, table.upload td textarea {
    width: 250px;
}

http://jsfiddle.net/Vrd2q/

答案 1 :(得分:0)

这可能是因为输入大小是用em计算的,相对于font-size(随着不同的缩放级别而变化)。尝试以绝对单位指定宽度,例如px

答案 2 :(得分:0)

阻止人们放大或缩小是一种可用性笨蛋。不要使用标记属性'size'和'cols'(删除那些属性,如@MarcinJuraszek所提到的),但使用CSS为input和textarea字段提供相等的绝对(px)或相对(em)宽度。即。

input,
textarea {
    width: 15em;
}

在em(可以说是首选)的情况下,字段的宽度将根据缩放因子进行缩放,但至少它们都将缩放相同。