今回は、Home.razorに配置した入力エリア(inputタグ)の横幅を調整する方法を扱います。Bootstrapのform-controlクラスを使うと入力欄は既定で横幅いっぱいに表示されますが、style属性のwidthプロパティを使うことでピクセル指定・パーセント指定のどちらでも横幅を自由に調整できます。
図1 現在のHome.razor。inputタグにclass=”form-control”が指定されている
図2 form-controlクラスにより、入力エリアが横幅いっぱいに表示されている
form-controlクラスを外してみる
現在の横幅いっぱいの表示は、class=”form-control”を指定しているためです。試しにclass=”form-control”を削除すると、どのように変わるかを確認します。
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
/>
コード1 class=”form-control”を削除した状態
図3 Visual Studio上でclass=”form-control”を削除したところ
図4 form-controlを外すと、ブラウザーの既定の横幅(短い状態)で表示される
style属性でwidthを指定する
横幅を調整したい場合は、style属性にwidth:を指定します。style=”width:”まで入力すると、IntelliSenseの候補一覧にauto・contain・fit-content・inherit・initialなど、widthに指定できる値の候補が表示されます。ここではピクセル数(例:300px)を直接入力します。
図5 style=”width:”まで入力すると、指定可能な値のIntelliSense候補が表示される
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
style="width:300px"
/>
コード2 style=”width:300px”を指定した状態
図6 width:300pxと入力しているところ
図7 300pxを指定すると、入力エリアが少し大きく表示される
続けて400pxに変更すると、その分だけ入力エリアがさらに大きくなります。
図8 width:400pxに変更したところ
パーセント指定で横幅いっぱいにする
横幅いっぱいに表示したい場合は、ピクセルの代わりに%(パーセント)を指定することもできます。width:100%とすると、親要素の横幅いっぱいまで広がります。
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
style="width:100%"
/>
コード3 style=”width:100%”を指定した状態
図9 width:100%に変更したところ
図10 100%を指定すると、横幅いっぱいに広がって表示される
同様に、50%とすればその半分の横幅になります。
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
style="width:50%"
/>
コード4 style=”width:50%”を指定した状態
図11 width:50%に変更したところ
図12 50%を指定すると、横幅の半分だけ広がって表示される
form-controlクラスと組み合わせる
最後に、最初に外していたclass=”form-control”を書き戻します。form-controlは既定では横幅いっぱいに広がりますが、style属性でwidthを指定している場合はそちらが優先され、今回は50%指定のままなので、Bootstrapの見た目のまま横幅の半分で表示されます。
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
style="width:50%"
class="form-control"
/>
コード5 style=”width:50%”とclass=”form-control”を両方指定した状態
図13 class=”form-control”を書き戻したところ(style指定はwidth:50%のまま)
図14 Bootstrapの見た目のまま、横幅は50%で表示される
なお、form-controlを使う場合、style属性で何も指定しなければ既定の横幅いっぱいの表示に戻ります。試しにstyle属性の中身を削除すると、class=”form-control”だけが残り、横幅いっぱいの表示に戻ることが確認できます。
図15 style属性を削除し、class=”form-control”だけを残した状態
まとめ
form-controlクラスを使う場合、横幅を調整したいときはstyle属性でwidthを指定します。たとえばwidth:300pxのように指定すれば、Bootstrapの見た目を保ったまま横幅だけを変更できます。
<input type="text"
@bind="_areaName"
@bind:event="oninput"
placeholder="エリアを入力してください"
style="width:300px"
class="form-control"
/>
コード6 最終的なコード:style=”width:300px”とclass=”form-control”を併用
図16 最終的にstyle=”width:300px”とclass=”form-control”を併用した状態
図17 Bootstrapの見た目のまま、横幅300pxで表示された最終結果
A01_はじめに
A02_バージョンの確認
A03_プロジェクトの作成
A04_アプリの実行
A05_サンプルプログラムの構成
A06_Razorコンポーネント
A07_Razor構文
A08_@pageでURLを指定する
A09_@rendermode
A10_PageTitle
A11_HTMLの見出し
A12_pタグ
A13_単方向データバインド
A14_単方向データバインドの詳細
A15_Bootstrap
A16_ボタンクリックイベント
A17_イベント引数の受け取り方
A18_ここまでのまとめ
B01_新しいWebページを追加する方法
B02_サイドバーから画面を表示する
B03_サイドバーのアイコンを変更する方法
B04_計測値を表示する
B05_変数に置き換える
B06_最新の値でデータを更新する
B07_@usingで通常のC#コードを呼び出す
B08_画面遷移_aタグ
B09_画面遷移_aタグの見た目をボタンにする
B10_画面遷移_NavigationManagerでの遷移
B11_画面間のパラメータの受け渡し方法
B12_EscapeDataStringでエスケープする
B13_複数のパラメータを渡す
B14_任意のパラメータにする
B15_string以外の型をパラメータで使う方法
B16_DateTime型をパラメータで渡す方法
B17_引数2個のURLも型指定に変更する
B18_パラメータ属性をつけるときの注意点
B19_OnParametersSet
B20_OnInitialized
B21_OnInitializedが2回通る問題の対応
B22_ブラウザが開いている間の値を記憶する方法
B23_値の受け渡しとしてのProtectedSessionStorage
B24_非同期を想定したUIの制御
C01_一覧表示
C02_非同期での一覧表示
C03_table-striped
D01_入力エリア
D02_双方向データバインド
D03_入力データをリアルタイムで通知する方法
D04_placeholder
D05_入力エリアの横幅の調整
D06_テキストチェンジイベントを拾う方法
D07_プルダウン
D08_プルダウンのbootstrap
D09_プルダウンの選択している値をデータバインドで操作する
D10_プルダウンにリストの値を表示する
D11_プルダウンに未選択行を入れる
D12_プルダウンの入力を禁止する
D13_プルダウンのチェンジイベントを取得する
D14_チェックボックス
D15_チェックボックスにラベルを付ける
D16_複数のチェックボックスを並べる
D17_ラジオボタン
D18_ラジオボタンのデータバインド
D19_ラジオボタンのチェンジイベント
D20_ラジオボタンにbootstrapを適応する