cssでtextareaの幅を設定しても思い通りにならない
divとtextareaで同じ幅にしてもそろわない
divをtextarea代わりに使うことも考えたけどテキスト入力が出来ないので断念
そこで考えたのが、divの中にtextareaを入れる!
試したらやりたかったことが実現できた!
これが試した結果の画面
Edgeの画面
Firefoxの画面
背景とtextareaは、わかりやすいように色を設定してる
3つの箱の上段は、divにテキスト表示
中段は、divにtextareaを入れてスクロールバーが表示されない状態
下段は、divにtextareaを入れてスクロールバーが表示された状態
どうですか、幅がちゃんとそろってるよね
ブラウザの幅を変えてもちゃんと追従して幅がそろう
サンプル画面のtextareaの余白が気になるけど、背景色を白にすれば全然違和感はなくなる
textareaがリサイズされてしまうと枠からはみ出たりするので、cssでresize:noneを設定してる
以下は、cssとhtmlのサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/* body */ #wrapper { margin: 0 auto; padding: 10px; max-width: 380px; background-color: #D3D3D3; } /* content */ div.content { margin : 10px auto; padding : 4px; line-height: 24px; font-size: 16px; border : 1px solid black; background-color : white; } /* textarea test */ textarea.textarea-test { margin : 0; padding : 0; border : 0px; resize : none; height : 100%; width : 100%; background-color : #dddddd; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>textarea-test</title> <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css"> <link rel="stylesheet" type="text/css" href="site.css" > </head> <body> <div id="wrapper"> <div class="content"> divのみ </div> <div class="content"> <textarea class="textarea-test"> divの中にtextarea (スクロールバーなし) </textarea> </div> <div class="content"> <textarea class="textarea-test"> divの中にtextarea (スクロールバーあり) textarea,TEXTAREA,test,TEST textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST, textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST, textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST, textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST, textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST,textarea,TEXTAREA,test,TEST, </textarea> </div> </div> <!-- wrapper --> </body> </html> |
コメント