tableの枠線にborder-radiusを適用する時の注意

tableの枠線にborder-radiusを適用する時に、ちょっと苦労したのでメモ。

<table>
<tr><th>ブラウザ</th><th>開発元</th></tr>
<tr><td>Internet Explorer</td><td>マイクロソフト</td></tr>
<tr><td>Google Chrome</td><td>Google Inc.</td></tr>
<tr><td>Mozilla Firefox</td><td>Mozilla Foundation</td></tr>
</table>

こんなテーブルがある場合。

table {
	border-collapse:collapse;
	border:1px solid #000;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	border-radius:10px;
}

と書いてみても、枠線の角は丸くならなかった。

ブラウザ 開発元
Internet Explorer マイクロソフト
Google Chrome Google Inc.
Mozilla Firefox Mozilla Foundation

原因は
border-collapse:collapse;
の部分でした。

どうも、
border-collapse:separate;
でないと、テーブルにはborder-radiusが適用されないようで。

というわけで、以下の様に直してみたら問題なく枠線の角が丸くなりました。

table {
	border-collapse:separate;
	border:1px solid #000;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	border-radius:10px;
}
ブラウザ 開発元
Internet Explorer マイクロソフト
Google Chrome Google Inc.
Mozilla Firefox Mozilla Foundation

FuelPHP関連メモ[認証関連を中心に、気になる記事のメモ]

PHPフレームワークFuelPHP関連のメモ。

■公式サイト
FuelPHP(英語)

■ドキュメント
FuelPHP日本語ドキュメント

■参考書
FuelPHP入門(書籍)

はじめてのフレームワークとしての FuelPHP(電子書籍)

■まとめ
FuelPHP まとめ Wiki

FuelPHP 日本語ニュース

■FuelPHPコミュニティ
グーグルグループ

Twitter

■FuelPHP関連のブログ・Webサイト記事
※上のまとめWikiに多くの記事がまとまっています。ここでは、個人的にメモっておきたい記事を中心に。

FuelPHPでopauthを使って色んなログインに対応してみた
通常ログイン、TwitterとFacebookを使ったoauthログインの説明。

FuelPHPの自作認証クラスを公開しました
FuelPHP標準のSimpleAuthクラスの改造。
認証クラスweb2authはgithubにて公開中。

小さなView部品を管理する方法
CakePHPでいうエレメント的なことをFuelPHPでやるには?の解説。
サイトを色んなパーツに分けて管理したい時に。

fuelphpでAssetsを利用して画面特有のcss,jsなどを呼び込む
サイト全体で使うJavaScriptやcssはテンプレートにAssetで読み込んでしまえばいいのですが、そうでは無く、一部のページでのみ使いたいJavaScriptやcssを手軽に指定する方法。

■補足
HybridAuth
TwitterやFacebook等のサービスへのログイン機能をまとめて実装できるPHPライブラリ。
現時点ではFuelPHPには対応してないですが、将来的にもしかしたら・・・という期待もこめて、一応メモ。
現時点では、CodeIgniter、CakePHP、Zend Framework 2、Symfony2、YII等に対応してます。

FuelPHPのFieldsetでセレクトボックスにoption要素を配列でセットする

FuelPHPドキュメントのFieldsetページには、記述が見当たらなかったのでメモ代わりに。

test_formというフォームには、language_idというセレクトボックスがあるという場合。

$test_form = Fieldset::forge('test_form')->add_model('Model_Test');

$language_options = array();
$language_options[1] = '日本語';
$language_options[2] = '英語';
$language_options[3] = 'スペイン語';

$test_form->field('language_id')->set_options($language_options);

出力されるHTMLソースはこんな感じに。

<select id="language_id" name="language_id">
	<option value="1">日本語</option>
	<option value="2">英語</option>
	<option value="3">スペイン語</option>
</select>

set_optionsに配列を渡せばOKです。
実際に使う場合は、DBからidと文字列を取得し、foreachを使って配列にセットし、set_optionsにその配列を渡す、という感じになるかと思います。