CSSハックを止めろと言われても 後藤大地氏のサイトを見たら…

ちょっと驚く記事。

CSSハックしてはいけない5つの理由

なぜ、CSSハックしてはならないのだろうかと読み進めると、書かれてある5つの理由にはあまり説得力がない。

つまり、ECサイトが素直に聞ける発言ではないわけだ。

さらにこう書いてある。

CSSハックしてはいけない5つの理由 | エンタープライズ | マイコミジャーナル

ただし、デバイスの多様化によってどのブラウザでも表示されるデザインを作成することが必ずしもユーザ満足度の向上にはつながらない状況にもなってきてる。

こういったことを、しれーっと言わずに、きっちりソースを示して欲しいものだ。

それに、肝心の後藤大地氏のサイトは、

後藤大地氏のサイト

という感じで、とてもECサイトが参考にできたものではない。

Amazonの著書を検索してみても、FreeBSDやJavaやらの大家かもしれないが、CSSの達人ではなさそうだ。

とはいうものの、アルゴリズム社の新設3サイトはどれも露骨なCSSハックはしていない。

これは、外注したからである(笑

私のポリシーやスキルではなく、グリーンツリー社やイーティーネット社の力ということになる。

«
»
 

コメント (4)

>アルゴリズム社の新設3サイトはどれも露骨なCSSハックはしていない。
>グリーンツリー社やイーティーネット社の力ということになる。

それはどうでしょうか。

<br clear=”all”/>

本来改行でない部分にレイアウトの都合でbr要素を入れてますよね。
画像に文章を回り込ませる際もalign属性が使われています。

CSSハックは、HTMLをValidな状態に保ちつつ、CSSで
ブラウザごとの異常やクライアントをサポートするために
使わざるをえなくなる、使ったほうがよくなるものです。

単純にCSSハックというものの存在を知らなくて、
HTMLで視覚構造を実装したのではないでしょうか?

>> コメント1

<br clear=”all”/>

これを代替するCSSはブラウザごとに違った動きをするCSSハックの塊のような記述ですから、それを避けてこの記述にすることは、

>露骨なCSSハックはしていない。

に適っていて、ご指摘の

>単純にCSSハックというものの存在を知らなくて、

の根拠にはなり得ませんが。。

>>imp様

なにか大きな勘違いをされているのではないでしょうか。

>代替するCSSはブラウザごとに違った動きをするCSSハックの塊

CSSハックとは、「ブラウザごとに異なる働きをするという不具合を使用して意図的に”ブラウザごとに異なる値を認識させる”こと」を言うのであり、「不具合があるCSSを使用すること」はCSSハックとは呼びません。

ほぼすべてのCSSで、ブラウザごとに異なる働きする不具合があります。margin, padding, border, img, pなどなど、ほぼすべてのCSSに不具合があります。もちろん、clear=”all”に代替されたCSSプロパティ{clear}にも、InternetExplorer6.0等で発生する不具合(上余白が2倍になる)があります。

CSSのclearには、全てのブラウザで「floatによる回り込みを解除する」という特有の効果があります。この効果を使用するためにCSSのclearを使用するのであって、InternetExplorerだけ余白を2倍にするためにCSSのclearを使うわけではないので、CSSハックではありません。ちなみに、上余白が2倍になってしまう不具合に対しては「上余白を指定しない」という対処法があり、こうすることで全てのブラウザで同じ効果を与えることができます。

clearの性質に関しては下記ページを是非一読してください。
http://www.geocities.jp/multi_column/float/06.html

繰り返しますが、「不具合があるCSSを使用する」のはCSSハックではなく、ほぼすべてのCSSに不具合があります。「上余白を指定しない」というCSSで容易に修正できる不具合を回避するために、推奨されていないHTMLやその属性置き換えてしまうのは、知識不足以外の何でもありません。

また先のコメントにも書きましたが、HTMLを正常な状態に保ちつつ、CSSでいろいろな場合(特にクライアントの知識不足による不具合)に対処するために用いるのがCSSハックです。CSSのclearをHTMLのclear属性で置き換えるのは正常なHTMLではありません。容易に修正できる不具合を回避するためにHTMLを改悪しているようでは、CSSハックの存在をご存知であるとは思えません。テクニックがあってCSSハックを使用していないのではなく、CSSハック自体を知らないから使用していないのではないかと申し上げているのです。

長くなってしまい申し訳ありません。ただ過信ほど怖いものはありませんので、指摘させていただきました。

申し訳ありません。imp様ではなく、imq様でした。
また。また四段落目の「img, p」は誤りです、「line-height, float」などに置き換えていただけるとありがたいです。

コメントを書き込む