2016-10-06 8 views
4

で画像の動きを持っています実際には入力であることを示すHTMLアイコンのみを背景にして表示されます。新しいアイコンが入力に追加されると、HTMLアイコンは現在のマークアップで静的な位置にとどまります。CSSは、私は、次のHTMLとテキスト入力を持つ中心のテキスト揃え入力テキスト

HTMLアイコンが最初の文字のすぐ左から始まり、テキスト文字列の左境界線が同じ方向にプッシュするので、徐々に左に移動しますか?オート:

Fiddle Example

+0

あなたが達成しようとしているものに関して、いくつかの画像を追加することができますか? –

+0

ええ、それはあなたが何を求めているのか明確ではありません – Stormhashe

答えて

-1

は、私の知る限りでは、あなたは、幅のようなもので、入力のダイナミックな幅を持つことができません。その場合には、withとtext-align rightを持つラッパーを使用することができます。

私は、入力の値の中にそのアイコンがある(UTF-8アイコンとして存在する可能性がある)場合、唯一の可能性があると言います。もちろん、これは汚れているようです。あなたはこれを試みることができるのcontentEditableでOKなら

5

span{ 
 
    display: inline-block; 
 
    position: relative; 
 
    left: 50%; 
 
    transform: translateX(-50%); 
 
} 
 
span::before { 
 
    content: '\270D'; 
 
}
<span contenteditable='true'></span>

+0

私はcontenteditableについて読んでいました、 'contenteditable =" true "'ですか? [contenteditable @ mdn](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable)それはFFで私のためにうまく動作します。 –

+0

@HastigZusammenstellen [ブール値属性の存在は真の値を表します](https://www.w3.org/TR/2008/WD-html5-20080610/semantics.html#boolean)、 'contenteditable =" true " 'はcontenteditableと同じです – maioman

+0

私は半分眠っていて、間違っていると読めるかもしれませんが、[w3:Keywords and enumerated attributes](https://www.w3.org/TR/2008 /WD-html5-20080610/semantics.html#keywords)は、 'contenteditable'には3つのオプションがあり、3つ目のオプションは技術的にブール値ではない' = "" 'です(' = "" 'はfalseと同じです)また、w3バリデーターは ''が嫌いですが、 '' –

1

可能ですが、使用して(仕事の多くを必要とする)アイデア不完全jqueryの。

fiddle

$('input').bind('keypress', function(e) { 
 
\t var tester = $(this).val().length; 
 
    var code = e.keyCode || e.which; 
 
    var currentWidth = $('input').css('width').slice(0, -2); 
 
    var currentWidthParsed = parseInt(currentWidth, 10); 
 
    \t if(code == 8) { 
 
    var newWidth = (currentWidthParsed - 8) + 'px' 
 
    $('input').css('width', newWidth); 
 
} else { 
 
    var newWidth = (currentWidthParsed + 8) + 'px' 
 
    $('input').css('width', newWidth); 
 
} 
 
});
body { 
 
    text-align: center; 
 
} 
 
input{ 
 
    text-align: left; 
 
    border: none; 
 
    outline: none; 
 
    background-color: transparent; 
 
    width: 100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<span> 
 
    &#9997; 
 
</span> 
 
<input type="text">

関連する問題