[解決済み] Font Awesome のアイコンをテキスト入力要素内に配置する
質問
ユーザー名入力フィールドにユーザーアイコンを挿入しようとしています。
私は、以下のソリューションのいずれかを試してみました。
同様の質問
それを知っている
background-image
プロパティは機能しないので
フォント・オーサム
はフォントだからです。
以下は私のやり方ですが、アイコンが表示されません。
.wrapper input[type="text"] {
position: relative;
}
.wrapper input[type="text"]:before {
font-family: 'FontAwesome';
position: absolute;
top: 0px;
left: -5px;
content: "\f007";
}
デフォルトのfont awesome cssでfont faceを宣言しているので、上にfont-familyを追加するのが正しい方法なのかどうかわかりませんでした。
@font-face {
font-family: 'FontAwesome';
src: url('../Font/fontawesome-webfont.eot?v=3.2.1');
src: url('../Font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../Font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../Font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../Font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
}
どのように解決するのですか?
その通りです。:before と :after の擬似コンテンツは、次のような置換されたコンテンツに対して機能するようには意図されていません。
img
と
input
という要素で構成されています。wrapping要素を追加し、font-familyを宣言することは、背景画像を使用することと同様に、可能性の1つです。あるいは、html5のプレースホルダーテキストがあなたのニーズに合うかもしれません。
<input name="username" placeholder="">
placeholder属性に対応していないブラウザは、単に無視されます。
最新情報
beforeコンテンツセレクタで入力を選択します。
input[type="text"]:before
. ラッパーを選択する必要があります。
.wrapper:before
. 参照
http://jsfiddle.net/allcaps/gA4rx/
.
また、ラッパーが冗長な場所にはプレースホルダーの提案を追加しました。
.wrapper input[type="text"] {
position: relative;
}
input { font-family: 'FontAwesome'; } /* This is for the placeholder */
.wrapper:before {
font-family: 'FontAwesome';
color:red;
position: relative;
left: -5px;
content: "\f007";
}
<p class="wrapper"><input placeholder=" Username"></p>
フォールバック
Font Awesome は Unicode Private Use Area (PUA) を使ってアイコンを保存しています。その他の文字は存在せず、ブラウザのデフォルトにフォールバックします。それは他の入力と同じであるべきです。入力要素にフォントを定義している場合は、アイコンを使用する場合のフォールバックとして同じフォントを供給します。このように。
input { font-family: 'FontAwesome', YourFont; }
関連
-
[解決済み] 横型リストアイテム
-
[解決済み] HTML IFステートメント
-
[解決済み] HTMLで複数選択を許さないリストボックスを作るには?
-
[解決済み] input type="button "に背景画像を追加するには?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] divの内容を下に揃える方法
-
[解決済み] inline/inline-block要素間のスペースを削除するにはどうすればよいですか?
-
[解決済み] divブロック内のテキストを(水平方向と垂直方向に)センタリングするにはどうすればよいですか?
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] HTMLのレイアウトにテーブルを使用しない理由は?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 箇条書きのない順序なしリストが必要です。
-
[解決済み] ボディの高さをブラウザの高さの100%にする
-
[解決済み] CSS 背景の不透明度 [重複]について
-
[解決済み] 入力フィールドに :before や :after 疑似要素を使用できますか?
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み] テーブル内のテキストアラインクラス
-
[解決済み] CSS背景のストレッチとスケール
-
[解決済み] HTML Input="file" Accept Attribute File Type (CSV)
-
[解決済み] マークダウンにおける相互参照 (名前付きアンカー)
-
[解決済み】CSSでFont Awesome アイコンを使用する