CSS:将INPUT元素重置为原始宽度

Ali*_*xel 4 html css browser cross-browser

我不认为这是可能的,但我会问它,但我可以说我有以下HTML:

<div style="width: 500px;">
    <input class="full" />
</div>
Run Code Online (Sandbox Code Playgroud)

和相应的CSS:

input {
    width: 100%;
}

.full {
    display: inline;
    float: left;
    margin: 0 2%;
    width: 96%
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我的输入元素将具有480px的宽度,这适用于我的大多数需求,但在某些特定情况下它不会,例如:

<div style="width: 500px;">
    <input name="day" size="2" />
    <input name="month" size="2" />
    <input name="year" size="4" />
</div>
Run Code Online (Sandbox Code Playgroud)

这将使浏览器呈现宽度为500px(jsFiddle)的每个输入...

反正是否强制浏览器回滚到默认样式?

Wes*_*rch 5

只需设置width:auto这些输入.无论是否设置size属性,都可以使用(如果已设置,则可以使用大小).

http://jsfiddle.net/Madmartigan/kQDpY/3/

顺便说一句,float会自动将显示类型设置为阻止,你的div的内联声明没有做任何事情所以你不需要它.