私はデータテーブルが初めてです。テーブルヘッダーを作成すると、常に左揃えになります。ヘッダーを中央揃えに設定するにはどうすればよいですか? datatables.net/manual/styling/classesおよびdatatables.net/reference/option/columns.classNameを読みましたが、まだ実装方法がわかりません。
$('.table').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"language": {
"url": "http://cdn.datatables.net/plug-ins/1.10.9/i18n/Indonesian.json"
}
"columnDefs": {
{
className: "dt-head-center"
}
}
});
クラスを指定した後に忘れている場合は、CSSに以下を追加する必要があります。
.dt-head-center {text-align: center;}
また、クラスがテーブルの<th>
に追加されていない場合は、一般的なもののために以下のCSSを追加してみてください:
thead, th {text-align: center;}
/* OR */
.table thead,
.table th {text-align: center;}
特定のテーブルに固有にするために、テーブルにid="tableID"
を指定し、CSSで次のことができます。
#tableID thead,
#tableID th {text-align: center;}
OP、ソリューションに非常に近かったので、スタイルを設定するヘッダーにdt-head-center
クラスを割り当てるtargets
のcolumnDefs
オプションが欠落しています。
// apply to columns 1 & 2
targets: [ 0, 1 ]
CSSはオプションですが、必須ではありません。
セルのスタイル設定にcolumn.className
オプションを使用し、targets
を使用して適用するDataTables推奨の方法が好きです。 https://datatables.net/reference/option/columns.className これにより、グローバルなCSSアプリケーションとは対照的に、より細かいレベルの制御が可能になります。
これにより、ヘッダーと本文のコンテンツが個別に調整されます。
columnDefs: [
// Center align the header content of column 1
{ className: "dt-head-center", targets: [ 0 ] },
// Center align the body content of columns 2, 3, & 4
{ className: "dt-body-center", targets: [ 1, 2, 3 ] }
]
または、両方を同時に調整します。
columnDefs: [
// Center align both header and body content of columns 1, 2 & 3
{ className: "dt-center", targets: [ 0, 1, 2 ] }
]
セルクラスの形式:
dt[-head|-body][-left|-center|-right|-justify|-nowrap]
DataTablesセルクラスの詳細: https://datatables.net/manual/styling/classes#Cell-classes
CSSでこれを行うことができます。次のように、テーブルクラスをセレクタとして使用し、そのセレクタ内のすべてのテーブルヘッダーをターゲットにします。
.table th {
text-align: center;
}
このスタイルを使用して:
table.center-all td,th{
text-align :center;
}
center-all
クラスをテーブルに追加すると、すべてが中央に揃えられます。このような :
<table class="center-all">
....
</table
このようにして、ページ/サイト全体に適用する必要なく、いくつかのテーブルのコンテンツを中央に配置するオプションがあります