2016-07-01 16 views
0

TranslateXはChromeの入力でテキスト選択を解除します。Transform:translateXはChromeの入力でテキスト選択を解除します

div { 
    background: #afe5a4; 
    padding: 20px; 
    width: 300px; 
    transform:translateX(150px); 
} 

input { 
    width: 100%; 
} 

デモ:

https://jsfiddle.net/k42g91h1/1/

入力中のテキストを選択し、左側にある緑色のボックスの外側にカーソルを移動してください。 奇妙なテキストがどのように選択されているかがわかります。

これを修正するにはどうすればよいですか?

+0

は、あなたがこのために翻訳を使用する必要がある理由はありますか?マージンなどでそれをすることはできませんか? – thepio

答えて

0

これは奇妙なバグです。私はどのように、そしてなぜあなたがtranslateXを使用しているのかわからないが、基本的にブラウザが入力を実際にどこかにあると考えるようにブラウザを欺くことができる。translateXあなたのdivが持っている値とマージンを同じに設定する。

input { 
    width: 100%; 
    transform:translateX(-150px); 
    margin-left: 150px; 
} 

フィドル:https://jsfiddle.net/72zx4tw0/

+0

返信いただきありがとうございます!すでにこのソリューションが見つかりましたが、アニメーションを使用してtranslateXをjsに設定しました。より良い解決策があると思った。 –

+0

ええ、それは私が思ったことです。まあ、少なくとも今は私は他の何かを把握することはできません...私はあなたに戻ってきます – thepio

関連する問題