ユーザーエージェントを読み取ってブラウザを判別しbody_class()にadd_filterを使ってフックさせます。
閲覧ブラウザによってcssを変えたいときにCSSハックを使わなくても
.ie6 {
color: green;
}
などとすればIE6だけにCSSを適用するようにできます。
条件付きコメントもCSSハックも使いたくないときに使ってみてはどうでしょうか?
/** * Get browser_class */ function rye_browser_class(){ $classes = ""; $agent = getenv( "HTTP_USER_AGENT" ); if(preg_match('/Trident/',$agent)){ $classes .= "msie "; if(preg_match('/MSIE 6.0/',$agent)) $classes .= "ie6 lt7 lt8 lt9"; if(preg_match('/MSIE 7.0/',$agent)) $classes .= "gt6 ie7 lt8 lt9"; if(preg_match('/MSIE 8.0/',$agent)) $classes .= "gt6 gt7 ie8 lt9"; if(preg_match('/MSIE 9.0/',$agent)) $classes .= "gt6 gt7 gt8 ie9"; } else { $classes .= "noie "; if(preg_match('/Firefox/', $agent)){ $classes .= "firefox"; } elseif(preg_match('/Chrome/', $agent)){ $classes .= "chrome"; } elseif(preg_match('/Safari/', $agent)){ $classes .= "safari"; } elseif(preg_match('/Opera/', $agent)){ $classes .= "opera"; } elseif (preg_match('/iPhone/',$agent)) { $classes .= "iphone"; } elseif (preg_match('/iPad/',$agent)) { $classes .= "ipad"; } elseif (preg_match('/Android/',$agent)) { $classes .= "android"; else { //other } } return $classes; } /** * Add body browser class */ function rye_add_browser_class($classes){ $classArr = explode(" ",rye_browser_class()); $return = array_merge($classes,$classArr); return $return; } add_filter("body_class","rye_add_browser_class"); ?>
コメントを残すコメントをキャンセル