style.tableLayoutは、要素のスタイル属性のtable-layoutプロパティの値を取得、もしくは、設定するプロパティ。
table-layoutプロパティは、表(テーブル)の列の幅を自動調整するかどうかを指定することができる。
構文
取得
var $tableLayout = $elementReference.style.tableLayout;
戻り値
要素のスタイル属性のtable-layoutプロパティの値。
設定
$elementReference.style.tableLayout = "auto | fixed | inherit";
- auto | fixed | inherit
- 下記の何れかの値で指定する。初期設定値は「auto」。
- auto:列の幅を自動調整する。自動テーブルレイアウトアルゴリズム。
- fixed:列の幅を自動調整しないで固定する。固定テーブルレイアウトアルゴリズム。
- inherit:親要素の設定を継承。
サンプル
サンプルのtable-layoutプロパティの値:
セルA1 | セルB1 セルB1 セルB1 | セルC1 |
セルA2 セルA2 | セルB2 | セルC2 |
セルA3 | セルB3 セルB3 | セルC3 |
サンプルの動作について
- 「auto」ボタンをクリックすると、列の幅を自動調整する。「サンプルのtable-layoutプロパティの値:」の右横に「auto」と表示。
- 「fixed」ボタンをクリックすると、列の幅を自動調整しない。「サンプルのtable-layoutプロパティの値:」の右横に「fixed」と表示。
- 「inherit」ボタンをクリックすると、親要素の設定を継承する。「サンプルのtable-layoutプロパティの値:」の右横に「inherit」と表示。
サンプルのソースコード
JavaScript
<script type="text/javascript">
function setTableLayout( $tableLayout ) {
var $element = document.getElementById( "sample" );
$element.style.tableLayout = $tableLayout;
var $tableLayout = $element.style.tableLayout;
document.getElementById( "sampleOutput" ).innerHTML = $tableLayout;
}
</script>
function setTableLayout( $tableLayout ) {
var $element = document.getElementById( "sample" );
$element.style.tableLayout = $tableLayout;
var $tableLayout = $element.style.tableLayout;
document.getElementById( "sampleOutput" ).innerHTML = $tableLayout;
}
</script>
HTML
<button onclick="setTableLayout('auto');">auto</button>
<button onclick="setTableLayout('fixed');">fixed</button>
<button onclick="setTableLayout('inherit');">inherit</button>
<br />
<p>サンプルのtable-layoutプロパティの値:<span id="sampleOutput"></span></p>
<table id="sample">
<tr>
<td>セルA1</td>
<td>セルB1 セルB1 セルB1</td>
<td>セルC1</td>
</tr>
<tr>
<td>セルA2 セルA2</td>
<td>セルB2</td>
<td>セルC2</td>
</tr>
<tr>
<td>セルA3</td>
<td>セルB3 セルB3</td>
<td>セルC3</td>
</tr>
</table>
<button onclick="setTableLayout('fixed');">fixed</button>
<button onclick="setTableLayout('inherit');">inherit</button>
<br />
<p>サンプルのtable-layoutプロパティの値:<span id="sampleOutput"></span></p>
<table id="sample">
<tr>
<td>セルA1</td>
<td>セルB1 セルB1 セルB1</td>
<td>セルC1</td>
</tr>
<tr>
<td>セルA2 セルA2</td>
<td>セルB2</td>
<td>セルC2</td>
</tr>
<tr>
<td>セルA3</td>
<td>セルB3 セルB3</td>
<td>セルC3</td>
</tr>
</table>
CSS
<style>
#sample,
#sample td {
border: 2px solid red;
background-color: yellow;
padding: 6px 10px;
}
#sample {
width: 500px;
margin: 10px;
padding: 0;
border-collapse: separate;
border-spacing: 10px;
}
</style>
#sample,
#sample td {
border: 2px solid red;
background-color: yellow;
padding: 6px 10px;
}
#sample {
width: 500px;
margin: 10px;
padding: 0;
border-collapse: separate;
border-spacing: 10px;
}
</style>