xml宣言するとIE6でレイアウトが崩れる問題
Internet Explorer6は、XHTMLの ドキュメント宣言よりも前に文字やスペースがあると、古いブラウザ用の表示モード(互換モード)になってしまいます。
これによりサイトの表示やレイアウトが崩れる原因にもなるようです。
IE 6で互換モードになってしまうと、CSSで指定したwidthプロパティやheightプロパティの解釈が変わってしまうのです。この問題を避けるため、XML宣言をしないサイトも多いようです。
まぁそれでも崩れないように組むのが常識なのですが、PHPで対応することも可能のようです。
/*----------------------------*/
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (!(ereg("Windows",$ua) && ereg("MSIE",$ua)) || ereg("MSIE 7",$ua)) {
echo '<?xml version="1.0" encoding="' . get_settings('blog_charset') .'"?>' . "\n";
}
?>
/*----------------------------*/
これでIE6以外にXML宣言ができるようです。
日時: 2008年10月 3日 16:20 | パーマリンク | コメント (195)
XHTMLとは?
XHTMLとはもともとウェブページを記述するためのHTMLから発生したXMLに近い言語。
XMLとは文書やデータの意味や構造を記述するためのマークアップ言語の一つ。
まぁhtmlみたいなxmlみたいな感じ?
要はXHTMLは人にも見やすく、ロボットにも読みやすいという感じですかね。
ブログが何で検索順位などにいいかというと書いた後の構築時にXHTML、またはHTMLをはきだすと同時にシステムがXMLも記述してくれるんです。
もともとHTMLはXMLの親にあたるSGMLから派生した言語で、Webブラウザメーカー主導で独自の拡張が続いてきた。このため、HTMLはXMLとは一部整合性を欠く言語仕様となっているが、両者の違いはある程度吸収できる範囲のものであるため、従来のWebブラウザでも問題なく見られ、かつXMLに準拠した文書を作成する言語仕様としてXHTMLが作成された。 (引用http://e-words.jp/)
ただXHTMLですき放題構築するではなく、いかにW3C(ウェブのルールを作っている集団?団体?)のルールにのっとり、ユーザビリティ、アクセシビリティを意識し、いかにそのマークアップ言語を準記しているかに僕は魅力を感じます。
【余談】
僕のお仕事はある意味XHTMLコーダーであり、SEOの動向を常時管理したりしてます。
そして初歩的なことだけど、DTD(Document Type Definition)
これは、このルールに乗っ取って記述しますよーってのが基本的に大事になるでしょう。
今主流の宣言文(<html>の上段に記述してある定義文)
html4.0 tranditional
html4.0 strict
xhtml 1.0 Tranditional
xhtml 1.0 strict
xhtml 1.1
などが主流でないでしょうかね。
ここで気になる”tranditional”と”strict”の違いは
tranditionalはやや甘いルール
strictは意味の通り”厳格”なルール
となっています。
僕は基本的にXHTMLのStrictでコーディングしています。
/*---CSS------*/
div#俺{
display:none;
margin:0;
padding0;
width:80px;
height:165cm;
border:1px #888 solid
}
div#俺 P{
font-size:100%;
padding:5px;
}
di#俺 h猫{
cute:max;
overflow:too much over;
}
/*---CSS--end----*/
とするとxhtmlでは
<div id="俺">
<h猫>にゃー!</h猫>
<p>猫大好き</p>
</div>
んな感じで今日はおやすみ~♪
日時: 2007年9月11日 23:45 | パーマリンク
Contents
- ウェブの森の生活
- Cats-lover
- Music
- USB Portable Life
- スケートボード
- SEO
Calendar
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
タグクラウド
月別アーカイブ
週別アーカイブ
- 2010年7月25日 - 2010年7月31日
- 2010年7月11日 - 2010年7月17日
- 2010年5月16日 - 2010年5月22日
- 2010年3月28日 - 2010年4月 3日
- 2010年3月 7日 - 2010年3月13日
- 2010年1月 3日 - 2010年1月 9日
- 2009年12月 6日 - 2009年12月12日
- 2009年8月16日 - 2009年8月22日
- 2009年3月22日 - 2009年3月28日
- 2008年12月14日 - 2008年12月20日
- 2008年11月16日 - 2008年11月22日
- 2008年10月26日 - 2008年11月 1日
- 2008年10月19日 - 2008年10月25日
- 2008年10月12日 - 2008年10月18日
- 2008年10月 5日 - 2008年10月11日
- 2008年9月28日 - 2008年10月 4日
- 2008年8月24日 - 2008年8月30日
- 2008年8月17日 - 2008年8月23日
- 2008年8月 3日 - 2008年8月 9日
- 2008年7月20日 - 2008年7月26日
- 2008年7月 6日 - 2008年7月12日
- 2008年6月 1日 - 2008年6月 7日
- 2008年5月11日 - 2008年5月17日
- 2008年5月 4日 - 2008年5月10日
- 2008年4月27日 - 2008年5月 3日
- 2008年4月20日 - 2008年4月26日
- 2008年4月13日 - 2008年4月19日
- 2008年3月30日 - 2008年4月 5日
- 2008年3月16日 - 2008年3月22日
- 2008年3月 9日 - 2008年3月15日
- 2008年3月 2日 - 2008年3月 8日
- 2008年2月24日 - 2008年3月 1日
- 2008年2月 3日 - 2008年2月 9日
- 2008年1月27日 - 2008年2月 2日
- 2008年1月20日 - 2008年1月26日
- 2007年12月30日 - 2008年1月 5日
- 2007年12月23日 - 2007年12月29日
- 2007年12月 2日 - 2007年12月 8日
- 2007年11月18日 - 2007年11月24日
- 2007年11月11日 - 2007年11月17日
- 2007年10月28日 - 2007年11月 3日
- 2007年10月21日 - 2007年10月27日
- 2007年10月14日 - 2007年10月20日
- 2007年10月 7日 - 2007年10月13日
- 2007年9月30日 - 2007年10月 6日
- 2007年9月 9日 - 2007年9月15日
- 2007年9月 2日 - 2007年9月 8日
- 2007年8月26日 - 2007年9月 1日
- 2007年8月19日 - 2007年8月25日
- 2007年8月12日 - 2007年8月18日
- 2007年8月 5日 - 2007年8月11日
- 2007年7月29日 - 2007年8月 4日
- 2007年7月22日 - 2007年7月28日
- 2007年7月15日 - 2007年7月21日
- 2007年7月 8日 - 2007年7月14日