テキストを背景として設定する方法<input type="text">
それはプレースホルダーであってはなりません。しかし、常に表示されます。
例えば:
| 'from:'ユーザーはここに日付を入力します|
プレースホルダーテキストを意味する場合は、試してください<input type="text" placeholder="Hint Text!">
ただし、永続的なテキストが必要な場合は、これを試してください: http://jsfiddle.net/j8SZZ/
編集:更新された質問に行くと、これはまさにあなたが探しているものです.
更新: 背景色に関するコメント/フィードバックについて - http://jsfiddle.net/Debloper/j8SZ/3/
テキストとテキスト フィールドを常に div でラップし、全体をテキスト フィールドのようにスタイル設定することができます。
したがって、次の HTML を使用します。
<div>
<label id="lead" for="from">From: </label>
<input id="from" type="text" />
</div>
そして、このスタイリング:
div {
background-color: white;
border: 2px inset;
cursor: auto;
width: 250px;
}
label {
color: gray;
}
input, input[type="text"], input:focus {
border: none;
outline: none;
}
このJSFiddle demoになります。(Chrome と FF でテスト済み)。
編集
OPはJQuery UI Date Pickerの使用を検討していることを示しているため、ラベルとテキストフィールドの両方が日付ピッカーをトリガーできるようにするには、ソリューションを少し調整する必要があります。これは非常に単純で、この質問で説明されています。
「ラッピング」 div: にクラス名を追加するには、HTML を変更する必要があります<div class="extended-textfield">
。これは、日付ピッカー自体も<div>
CSS スタイルに含まれており、一般的すぎると、あらゆる種類の厄介なスタイルの競合が発生するためです。
div の CSS セレクターは に変わりdiv.extended-textfield
ます。
そして JavaScript:
$( "#from" ).datepicker();
$("#lead").click(function() {
$("from").datepicker('show');
});
ワーキングデモはこちらです。
あなたを満足させるかもしれないいくつかの例[1]。
トリックの本質は、入力に透明な背景と、位置が相対に設定された同様の寸法のラッパー内の絶対位置を与えることです。これにより、下にあるコンテンツのすぐ上に配置され、透けて見えるようになります。