一部のサイトで見られるのと同じように、その中にボタンがあるテキストボックスを作成したいのですが、通常はテキストボックスがあり、右隅にハンドレンズ画像のボタンがあり、ボタンをクリックするとフォームが送信されます。div を使用して同様のものを作成しようとしましたが、取得できないようです。cssでどのように行われますか、それともjqueryの魔法がありますか?
64693 次
4 に答える
43
ラッパーの使用
あなたが参照しているテクニックは、実際にはテキストボックス内にボタンを持っていません。ボタンとテキストボックスの境界線と背景は、単にラッパーdivとブレンドされています。以下に基本的な例を示します。
HTML
<div class="wrapper">
<input type="text" />
<button>GO</button>
</div>
CSS
.wrapper {
border:1px solid #000;
display:inline-block;
}
input,
button {
background-color:transparent;
border:0;
}
使用するposition:absolute
もう 1 つの方法は、ボタンを完全に配置して右側に取り付けることです。これの利点は、テキスト ボックスの周りにフォーカス/アクティブ ボーダーをより簡単に実装できることです。テキストボックスに与えることで、ボタンの問題の下のテキストを回避できpadding-right
ます。
.wrapper {
border:1px solid #000;
display:inline-block;
position:relative;
}
input,
button {
background-color:transparent;
border:0;
}
button {
position:absolute;
right:0;
top:0;
}
input {
padding-right:30px; /* button padding */
}
于 2013-04-03T06:08:14.447 に答える
1
これは、必ずしも最善の方法であるとは限りません。とはいえ、頼んだのはこちら。このjsFiddleをチェックしてください。ボタンの位置を作成:絶対;
<input type="text" />
<button>si</button>
input[type="text"]
{
width:200px;
height:40px;
}
button
{
position:absolute;
left:165px;
top:10px;
}
于 2013-04-03T06:14:12.697 に答える