CSS スタイルシートを極める

という人におすすめ。

これは「ツカエル」と思ったCSSは、ブログでも紹介するんですが、こういうリファレンスがあると、便利かも。

あ、なんか人任せでスミマセン。

あと、最近のサイト制作でのコダワリといえば、最初に YUI.css を読み込ませて、要素をリセットするという事。

YUI(Yahoo User Interface) Library

YUI Reset CSS

IE6でmarginが2倍になる対策

IE8のパブリックベータが公開されていますが、いまだにIE6がIE全体の半数を占めています。

サイト制作の立場から言えば、IE6からのアクセスもまだまだ無視できないですね。

ところがIE6は、CSSの実装に致命的とも思えるバグがあって、表示結果がIE7やFirefoxのそれとは、かなり異なる場合があります。

特に注意したいのがマージンをとったブロック要素をフロートした場合。

IE6では、フロートした側と反対側にマージンを2倍取ってしまうバグがあります。

<style>
.block {
display: block;
float: left;
margin: 5px;
}
</style>

といったCSSを記述した場合に<li class=”block”>~~</li>を2つ並べたとすると、「左側のマージンは、0になり、右端のマージンが10pxになってしまいます。

そこで、IE6では、display:block を display:inline にすることで IE7 や Firefox と同じ表示にします。

<style>
.block {
display: block;
float: left;
margin: 5px;
_display: inline;
}
</style>

2番目に指定している display に _ (アンダースコア、アンバーバー)が付いているのが分かりますでしょうか。

この _display というのは、正確にはCSSの記述としては正しくないのですが、ここもIE6のバグで、「_」のみを無視してそれに続いて記述されているスタイルシートを有効にしてしまうんですね。

IE7 や Firefox の場合は、_で始まる要素は、それ全体を無視するので、上記のスタイルシートの場合、IE7 と Firefox では、display: block。IE6 では、display: inline が適用されます。

IE6 で display: inline にも関わらず height が使えるのもなんだか釈然としないんですが、まあ、実際にブラウザでそうなるんだからよしとします。

他にもIE6に対応させるテクニックは、さまざまなサイトで検証されています。
例えば、ブラウザ毎に読み込ませるスタイルシートを替えたりするのが王道でしょうか。

<link rel=”stylesheet” type=”text/css” href=”style.css” />
<!–[if lt IE 7]>
<link rel=”stylesheet” type=”text/css” href=”ie6.css” />
<![endif]–>

上記の記述では、IEのバージョンが「7未満の場合」に ie6.css を読み込むようになります。

他の IE7 や Firefox の場合、<!–[if lt IE 7]>から<![endif]–>までがコメントとして無視されます。

サイト全体を IE7 と Firefox の環境でコーディングし終えた後で、IE6でチェックして、おかしい部分を ie6.css でスタイルシートを上書きするというやり方。

SEOなのか?の話題

最近はめっきりSEOとか意識しなくなっちゃったんですが。

だって、相互リンクしなくても PageRank5 になっちゃったり(うちの会社のHP)、検索キーワードで1位2位になっちゃったり(クライアントのHP、Yahooで)しちゃうんで、昔ほどやっきになって「SEOはコレコレやって、アレやって~」って事がなくなっちゃったんですね。

でもいまだに相互リンクを希望するサイトも多いみたいなんで、面白そうな相互リンクサイト(システム)を作ってみようかと思います。

  • 簡単なID登録制
  • 同じ会員同士、同じカテゴリで相互リンク
  • 会員同士の自動相互リンク
  • ゲストユーザーの認証式の相互リンク
  • 月額の有料会員向けリンク集中機能
  • リンク設置は、PHPファイルか、Ajax(Javascript)ソース

ただの相互リンク集だと、従来と変わらず効果もあまり期待できないだろうし、検索エンジンもそのへんは分かってるだろうから・・

  • レビュー・コメント機能
  • ランキング
  • ミニブログ機能(Twitter的な)

とかとか、付加機能をつけてみたら面白いかも。

北日本新聞社 富山のニュース

スーパーのレジ袋を有料化したら、買い物カゴの盗難が増えているそうで。

他にも「マイバッグに商品を入れて万引き」とかもあるそうで。

北日本新聞社 富山のニュース

県内のスーパーで、店内で使う買い物かごが持ち去られるケースが相次いでいる。四月に県内の各スーパーでレジ袋が有料化されて以降、目立つようになり、一カ月間で百個を持ち去られた店もある。マイバッグを持たずに来店した客が、レジ袋を買わずに、購入した商品をかごごと持ち帰っているとみられ、各店の関係者は「モラルに反する行為。買い物かごが少なくなると、ほかの客の迷惑にもなるので、やめてほしい」と頭を痛めている。

レジ袋を有料化&マイバッグ導入したら・・

  1. 買い物カゴごと持ち帰る人が増えた。
    レジで「レジ袋はいりません」とか言ってるのだろうか。
    レジ袋不要→レジ袋代が無料で得した上に、カゴ持ち帰り。
  2. マイバッグに商品を直接入れてレジを通さない人が増えた。
    マイバッグの中身がチェック済みかどうかなんて、店からはチェックできないしね。
  3. 「レジ袋を買わなかったら、どうやって持ち帰るんだ」と逆ギレ。
    もう・・なんなんでしょう。

店側としては、エコをアピールしたいんでしょうが、消費者の意識が全く追いついていない現状が問題だと思う。

消費者意識では、レジ袋は店からの「サービス」だという認識なんだから、商品代金にレジ袋代を乗せておけばいいんだと思う。

消費税込みの表記と同じことでしょう?
レジに行って、初めて値札以上の価格を請求されるから、消費者に誤解を招き、総額表記しようという動きになったのだから。

レジ袋だって、タダで仕入れできるとは消費者も思っていないし、レジ袋代は売上の利益内から払っていると思っている(ハズ)。

ただし、あからさまに商品代金に上乗せすると、他店との価格競争的に不利な部分もあるから難しい点もあるんだよね。

解決するには・・

  1. レジで、袋に入れて渡す。
    その代わり、レジにチェックする人と、梱包する人が必要になり、人件費が増える。
  2. レジ袋代は商品に含んでいる。
    レジ袋不要という人には、その分の値引きをしたらいい。
    ・・あれ、それでカゴを持って帰る人がいるんじゃ・・
  3. 買い物カゴをレンタルにする。
    例えば、カゴを取る時に500円(仕入では300円位らしいので)を支払い、戻す時に500円が戻ってくるようにすればいいんじゃない?
    これをやると、カゴを置く場所が限定されるから、ちょっと不便になるかも。

なんだか、日常の買い物も将来が暗いなー。

でも、この辺、何かビジネスチャンスがあるような気がする。
「店にとってカゴの持ち去りが無くなる、万引きが無くなる」
「消費者に値上げ感を与えない」
「消費行動の活性化(売上のアップ)」