まとりさんがTwitterで晒してた統計に便乗して自分のブログのをみてみたら、
なかなか面白かったのでもうちょっと細かく晒しておこうと思いますー。
データは直近1か月(11/26-12-26)が3年分です。
気ままに綴る独学メモ帳
角丸にする既存ライブラリは色々あるけどHTML5対応してなかったり配置が崩れたりで、
もう面倒だから四隅にspan置いて背景指定すればいいわ…と思って作ったクラス。
new IERadius($("main"));
角丸にしたい対象を指定すると、その要素内に次のようなspanが自動作成される。
<span class="radiusFix main-tLeft" style="position: absolute; width: 5px; height: 5px; display: block; top: 0px; left: 0px;"></span> <span class="radiusFix main-tRight" style="position: absolute; width: 5px; height: 5px; display: block; top: 0px; right: 0px;"></span> <span class="radiusFix main-bLeft" style="position: absolute; width: 5px; height: 5px; display: block; bottom: 0px; left: 0px;"></span> <span class="radiusFix main-bRight" style="position: absolute; width: 5px; height: 5px; display: block; bottom: 0px; right: 0px;"></span>
コーナーだけの画像を作って、
スタイルシートで背景指定する。
html { background-color:#113A57; } #main { border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; } #main{ background-color:#fff; } .radiusFix { background:url(../images/radius_sprite.png) no-repeat left top; } .main-tLeft{background-position:0px 0;} .main-tRight{background-position:-5px 0;} .main-bRight{background-position:-15px 0;} .main-bLeft{background-position:-20px 0;}
指定した親要素にはposition:relativeが付与される。
positionを使うのでIE6でCSSのバグが発生する事がある。(floatが中にある要素に使った場合など)
左:使用後 右:使用前
Mootools版も作ってみますた。
IE6以下で閲覧しているユーザーに喧嘩を売る変更を促すダイアログを表示します。
DOMでアレコレするのでbody直下に公式のソースを書く必要はありません。
IE7で変な横スクロールバーが出る件。font-style:italic、position、改行の三点セットでも発生するっぽい?
ブラウザ(とその設定)によってwindow.open()の挙動が大分違う件について、手持ちのブラウザで検証してみた結果のメモ。
IE6のドキュメントタイプで表示が変わる互換性モードに頭を抱えたWeb業界の人は多かろうと思いますが、IE8で更に上位版が出たそうです。
でもIE6で悪行を働いた標準・互換モードの変更動作とは違い、IE8で導入されたドキュメント互換性は、
IEがページを表示する際に使用する特定のレンダリングモードの選択を可能にするもので、従来のDOCTYPEの変わりに
新しくMETA要素の X-UA-Compatible により操作が可能に。
簡単にまとめると
IE8だと表示が崩れる…IE7なら崩れないのに…orz
▼
METAタグでIE7モードで表示するよう指示
▼
IE8がその指示に従ってIE7っぽくレンダリング
▼
ウマー(゚д゚)
ということらしい。
その場合のMETAタグは次のようになる(Emulate IE7 互換性モードを指定)
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
このメタタグはヘッダーの一番上(titleや他のmetaよりも上)に置かなければならない。
その他のcontent 属性値
<meta http-equiv="X-UA-Compatible" content="IE=4"/> <!-- IE5 mode --> <meta http-equiv="X-UA-Compatible" content="IE=7.5"/> <!-- IE7 mode --> <meta http-equiv="X-UA-Compatible" content="IE=100"/> <!-- IE8 mode --> <meta http-equiv="X-UA-Compatible" content="IE=a"/> <!-- IE5 mode -->
各モードをセミコロンで区切って複数のドキュメント モードを指定することも可能らしい。
特定の互換性モードを除外する使い方も可能だが、推奨はされていない。
例:IE7 モードを除外
<meta http-equiv="X-UA-Compatible" content="IE=5; IE=8" />
一見便利そうだけど…用途がわからん……
でもやっぱりメインで確認するのはIE6なんだろうな、っていう。
必要に迫られて作ったIE Pingfix.jsのクローン
ページ内にある透過PNG形式画像をIEでも表示させるプラグインのmootools版です。
透過画像やAlphaImageLoaderについてはこっちの記事で詳しく書いてます→透過PNGと透過フィルターの使い方
適用する画像の判別はファイル名で行います。
背景は面倒なので未対応ですが、要素IDによる範囲指定が可能です。
やってる事は大体同じ
会社に新しい専用PCが届いたので、IE7のStandalone入れるついでに、 他ののバージョンも入れてみようと思ってMultiple IEを入れてみた。 Multiple IEはIE3、IE4.01、IE5.01、IE … 続きを読む
フォーム送信などするときに使うボタンはinputとbuttonがあります。
ボタン要素にもnameとvalueをつければ、ほかのフォームエレメントと同じように値を送信することが出来ます。
buttonタグだと、ボタン要素そのものにつける値とボタンに表示するラベルを違うものに出来るので、
送信ボタンとか作るときには便利なんですが、IEだけ挙動が違うので注意が必要です。
<input type="submit" name="test" value="send" /> <button type="submit" name="test" value="send">submit</button>
fieldsetにbackground指定(color等)をしたとき、IEだけ上方向にはみ出して表示される。
原因はlegendにまで背景が適用されてしまうため。これはIEのバグらしい。
IEだけ背景なしにしてもよいが、そういうわけにもいかんという場合は、以下の方法で修正が可能。
外の要素にoverflow:autoなどを指定し、中の要素にposition:relativeを設定したとき、IEではスクロールバーが出てもスクロールがされない。 IE6 bug with overflow and po … 続きを読む
GoogleMapを入れたページをブラウザで確認したとき、FireFoxやSafari、IE7などではエラーが出ないのに何故かIE6系のブラウザだけエラーを吐くことがある。 主なものは ‘GMap’ … 続きを読む
IEのみに有効なif構文。
head内に記述することで、CSSやJavascript等をIEだけに適用させることが出来る。
親要素にfloatが使えない場合の解決策として使われる超有名ハック。
これ考えた人尊敬するわ。
このハックを使う主なケース。
大概は親要素にfloat指定するか、下にclear指定しとけばおkだけど、たまにどちらも使えない場合がある。そんなときはこのハックを思い出すと幸せになれる。
使用するとIEで妙な隙間が出来る場合があるので注意。多分バグだろうけど。