ヨミサーチという検索エンジンに登録者が自由にマークを選択して付けられる機能を付けました。
機能自体は正常に作動していますが、登録画面でチェックボックスが1列になってしまい、マークの数が多いので見栄えが悪いです。
これを3列くらいに配列し直したいのですが、以下の構文のどこに手を加えればいいでしょうか?
↓↓こうなっているものを
□ Win-XP
□ Win-Vista
□ Win-7
□ Win-8
□ Mac-OS
□ Internet Explorer
□ Google Chrome
□ FireFox
□ Opera
□ Safari
□ Office-Word
□ Office-Excel
↓↓こうしたいのです。
□ Win-XP □ Win-Vista □ Win-7
□ Win-8 □ Mac-OS □ Internet Explorer
□ Google Chrome □ FireFox □ Opera
□ Safari □ Office-Word □ Office-Excel
------------------------------------------------
foreach(1 .. $EST{'mcnt'}){ #←マーク数を増やすときは修正
if($FORM{'changer'} ne "admin" && !$EST{'rg_mk'.$_}){
if($mark[$_-1]){print "<input type=hidden name=Fmark$_ value=1>\n";}
next;
}
print "<label><input type=checkbox name=Fmark$_ value=1";
if($mark[$_-1]){print " checked";}
print ">" . $EST{"name_m$_"} . "</label><br>\n";
}
----------------------------------------------------
ぼくなら、こうする。
雰囲気だけですけど、こんな感じ。
# 幅が 20文字くらいで、三つごとに行を変えるような label のスタイル print << "END_OF_STYLE"; <style type="text/css"> #check_container > label { width: 20em; display: block; float: left; } #check_container > label:nth-child(3n+1) { clear: both; } </style> END_OF_STYLE print "<div id=\"check_container\">\n"; # id を指定した、div でくくる # チェックボックスを書くループは、ほぼそのまま foreach(1 .. $EST{'mcnt'}){ #←マーク数を増やすときは修正 ... print ">" . $EST{"name_m$_"} . "</label>\n"; # <br> をつけない } print "</div>\n";
スタイルの解説をしておくと、こんな感じです。
print ">" . $EST{"name_m$_"} . "<br>\n";
↓
print ">" . $EST{"name_m$_"} . "\n";
print "<br>" unless $_ % 3;
とか。
print ">" . $EST{"name_m$_"} . "</label><br>\n";
を
print ">" . $EST{"name_m$_"} . "</label>\n";
にしたら 一列か。
ここってそういう場所じゃないの?
解らないならそう言えばいいのに。