2012-03-18 6 views
0

私はスムーズに(高さが大きくなります)伸びテキストエリア、持っている:スムーズに伸びて(と私が欲しいもの、あまりにも<textarea>、)が、オペラやFirefoxでスムーズに伸びる<textarea><div>クロームで、だから、なぜクロム(と多分サファリ)だけがトランジション(高さ、幅)でうまくいくのですか?

<style type="text/css"> 
textarea { 
    height:20px; 
    width:170px; 
    transition-property: all 0.2s linear; /* PS: I don't want to write all prefixes in this question */ 
} 
    textarea:focus { 
    height:30px; 
} 
</style> 
<div style="overflow:hidden;"><!--And some good styles--> 
    <textarea style="resize:none;padding:10px;"></textarea> 
</div> 

を、しかし、 <div>はありません。

私は<div>にトランジションを追加しようとしましたが、結果なし...

はこれの解決策はありますか? (PS:javascriptで解決するにはいくつかのアイデアがあります:<div> onfocusにクラスを追加するだけですが、jsなしで解決することはできますか?)

+0

jsを使用することをお勧めします。 jquery ...たとえあなたがオペラとFirefoxで動作するようになっても、IE、特に古いバージョンはどうでしょうか? – Chris

+0

'transition:all 0.2s linear;'はより良い方法です。ここで、プロパティと期間を 'transition-property'値に入れます。 – zessx

+0

@Chris:質問はcss3についてです、トロールを開始しないでください。 – zessx

答えて

0

だから私はこれをやった: textareaとblurについて:<div>からクラス "active"を削除してください。このクラスが行うすべての変換は、

div { 
    height: 20px; 
    transition: all 0.2s linear; 
} 
div textarea { 
    height: 10px; 
    transition: all 0.2s linear; 
} 
div.active textarea { 
    height:30px; 
} 
div.active { 
    height:40px 
} 

非常にうまくいきます。

関連する問題