タグ

2008年9月7日のブックマーク (2件)

  • float方向のmarginが倍増するバグへの対応

    float方向のmarginが倍増するバグへの対応 IE6ではfloatしている要素にmarginを指定すると、float方向のmarginが倍近くに増加するというバグが存在します。 サンプル これに対応する為にはfloatを指定している要素に対して、display:inlineを適用します。 div#box{ float:left; margin:20px; display:inline; } サンプル これは、ボックスのdisplay値を変更すると言う意味ではありません。 CSSの仕様上、'float'が'none'以外の値を持つ要素のdisplayの値は強制的にblockに変換される為、この記述には全く意味がありません。 IE6に対してfloat方向のmarginが倍増するバグへの対応としてのみ活用できる記述になっています。 関連エントリー tableにおけるmarginの相殺 ma

    float方向のmarginが倍増するバグへの対応
    kits
    kits 2008/09/07
    IE6のfloat boxのmarginが倍になるやつは display:inline; で直る。
  • foreachのワーク変数には参照が入る!! - 小池啓仁 ヒロヒト応援ブログ By はてな

    配列変数をforeachで処理するときに、配列変数の要素をワーク変数(下のサンプルでは$value)へ格納しますが、これには、値でなく参照が入ります。 ですので、ワーク変数を編集すると、実は配列変数の要素を編集することになり、思わぬ結果が生じることがあるのです(経験者は語る)。 以下のNo.1では、@Nameの要素に対して、文字列『<br>』が外側のループ毎に一つ多く付加される(想定外)。 これを避けるためには、No.2のように一時変数にsubstr(元の値をコピー)して、その一時変数に対して、文字列『<br>』を付加します。 サンプル No.1 use strict; use warnings; print '◆No.1 foreachのワーク変数$valueをそのまま使う', "\n"; my $Name = ""; my @Name = ('aaaa(10)', 'bbbb(11)'

    foreachのワーク変数には参照が入る!! - 小池啓仁 ヒロヒト応援ブログ By はてな
    kits
    kits 2008/09/07
    この例だと my @Name2 = map { s/\(/<br>\(/; $_ } @Name; とかして加工した配列を先に作ったほうがよいような。