これがインラインで定義されていないか、CSSスタイルルールがそれに起因する場合、入力要素はデフォルトでsize = "20"です。
デフォルトを値の実際のサイズにするにはどうすればよいですか?その他の要素の場合:
<div style="display: inline; width: auto;">
The box will only fit the width of it's content
</div>
幅:自動で十分です。値が長くなる可能性があるため、定義された幅を配置できません。例えば:
<input id="short" type="text" value="1000" />
<input id="long" type="text" value=" Areally long name is in this input field." />
#shortを1000のサイズ(基本的にsize = "4" +パディング)にしたいのですが、#longを必要なだけ長くしたいと思います。これらの入力はプログラムで行われるため、短くしたいものに短いクラスを、長くしたいものに長いクラスを単純に配置することはできません。私が置くことができれば私は本当にそれが欲しいです:
input { width: auto; }
とにかくこれを行うには?
デフォルトの入力要素はsize = "20"です。
この「デフォルトサイズ」は、ブラウザ、バージョン、およびOSによって異なります。インラインスタイルでこれを行うことはできません。
最善の解決策は、幅とパディングを設定して、合計が100%になるようにすることです。
input {
width: 98%;
padding: 1%;
}
次に、それを絶対左右0に設定します
<fieldset>
<input type="text" />
</fieldset>
最後にこのCSSを追加します
<style type="text/css">
fieldset {
position: relative;
}
input {
position: absolute;
left: 0;
right: 0;
}
</style>
"デフォルトを値の実際のサイズにするにはどうすればよいですか?(...)次のように入力できれば本当に気に入っています:input {width:auto;}とにかくこれを行うには? "
入力HTML要素では、width
はそのsize
属性によって制御されます。これは、私が{ width: auto; }
をシミュレートするために使用する簡単な方法であり、ブラウザーの依存関係を証明するものです。
<input type="text" [size]="element.value.length + 1" #element>
フォームの独自の行に各入力があると仮定すると、size属性を目的のサイズに設定できますが、次のcssを追加することもできます。
input[type="text"] {
max-width: 100%;
}
これにより、フィールドがフォームからオーバーフローしないようになります。このアプローチは、長いフィールドに上限を設定しながら、短いフィールドに予想されるデータの量を視覚的に示します(適切なサイズになるため)。