-
ID:w22ell さんの質問

初歩的な質問ですみません
display:table-cellを使っている要素内(div)にtableを使っても良いのでしょうか?
テーブルレイアウトと似たようにテーブルをレイアウト目的で使ってるような気がして違和感を感じて調べたのですが答えが見つかりません
これってどうなんでしょう?

みんなの回答 1 件

ID:I/Pi04 さんの回答

まずテーブルレイアウトがなぜダメなのかというと、HTMLのtable要素には「表」という意味があるのに、表ではないところでtable要素を使っているから

一方、CSSのdisplay:table-cellなどは「表」という意味がない
見た目は表になるけど、それは意味が伴っているわけではなく、見た目が表になるだけ

このようにCSSは見た目を与えるだけで意味論をもたないので、期待通りの見た目になるなら何してもいいです

ID:w22ell

お礼が遅れて申し訳ございませんでした、ご回答ありがとうございます
少し疑問に感じたのですが
期待通りの見た目になるなら何をしてもいいとありますが
上記の(table-cell内にtable)はtext-indent:-9999pxで画像置き換えなどseo的に不利と噂されるグレーな手法に属したりはしないのでしょうか?

ID:I/Pi04

text-indent:-9999pxがなぜseo的によくないかというと、
HTMLに書かれているテキストと実際にユーザーが見る画像の内容が違っている場合があるからです
正しく(テキストと画像の内容を一致させて)使えば大して問題ないという人もいます

同様に考えると、レイアウトを整える目的であって、検索エンジンをだます目的でないのならそんなに神経質にならなくてもいいと思う

最終更新日:2014-10-23 (2,030 views)

関連するトピックス

ページ上部に戻る