今回は、cssを使ってボックスのようなコンテンツを作り、他のコンテンツと組み合わせて表示してみようと思います。
ボックスというプロパティがあるわけではなく、ボックスのような形に仕上げることでユーザーが見やすい・とっつきやすい
コンテンツを作ることを目的としております。
例として、ラジオボタンやチェックボタンをそのまま配置すると、機能としては問題ないものの押しにくかったり
見落としてしまったりとユーザー目線で見てみると意外と綻びがちらほら見受けられます。
造作もないことですが、やってみたいけど方法が分からないという方の参考になればいいなと思っています。
それでは本コードを紹介していきます。※reactベースで書いています。
</pre> <pre><div className="box" > <label> <p id="agreeText"> 利用規約に同意する </p> <input type="checkbox" value="1" onChange={this.onPermission}></input> <span className="checkbox01-parts"></span> </label> </div>
一番上の行のdivですが、ここでクラス名boxを定義します。このdivが、先述したボックスの役割をするコンテンツになります。
一番下にこのコンテンツを敷きたいので、このdivで全体を囲んでください。次に、囲みたいテキストとコンテンツ
(ここではチェックボックス)を書いていきます。labelは長さなどの設定をしているでだけなのでここでは無視して
ください。続いてcssの記述になります。
p#agreeText { position: absolute; margin-top: -20px; margin-left: 80px; padding: 20px; color: #000000; } div.box { width:300px; height:15px; position: relative; margin: auto; padding:10px; border:1px solid #fff; background-color:#fff; }
あまり説明する必要がないと思いますが、中央揃いで表示したいためrelativeにしております。
大分端折ってしまいましたが完成物はこんな感じになります。↓
ものすごーくシンプルですが、装飾さえしてしまえば今風のデザインに近いものが作れるんじゃないかと感じています。
他のcssフレームワークならもっと簡単にできてしまうかもですが、何も施していないノーマルのcssでもこんな感じで
仕上げられるので、もしこんなものでよければ参考にしてみてください。