htmlのtableタグは入れ子にできないは嘘
どっかで誰かに聞いた、もしくはネットで見た記憶があって、会社の人何人かに「htmlの文法的にはtableタグの中でtableタグを使うのはダメらしいよ」と言ったんだけど、どうやら嘘っぽい。
裏を取ろうと思って調べてたけど、ネットで引っかからないので直接HTML4.01のDTDを読んでみた。
<!ELEMENT TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> <!ELEMENT CAPTION - - (%inline;)* -- table caption --> <!ELEMENT THEAD - O (TR)+ -- table header --> <!ELEMENT TFOOT - O (TR)+ -- table footer --> <!ELEMENT TBODY O O (TR)+ -- table body --> <!ELEMENT COLGROUP - O (COL)* -- table column group --> <!ELEMENT COL - O EMPTY -- table column --> <!ELEMENT TR - O (TH|TD)+ -- table row --> <!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
1つ以上必要な、つまり必須の部分だけを要約すると、tableタグの子要素として、TBODYは必須。TBODYの子要素としてTRは必須。TRの子要素としてTHもしくはTDが必須。THもしくはTDの子要素には、%flow(ブロック要素およびインライン要素の総称)を任意で、とある。
嗚呼、ごめんなさい。G.W.あけたらごめんちゃいメール打たないと。トホホ。。