2012-01-27 11 views
0

この質問は、同じHTMLを使用する静的HTMLのページとPHPを使用して動的に生成されたページとのCSS動作の違いに関係します。動的HTMLと静的HTMLのdiv hoverスタイルの動作が異なる

div.selectable_class { background-color:white} 
div.selectable_class:hover { background-color:blue } 

静的なHTMLフラグメントは次のとおりです。:ホバー効果は別のスタイルシートに定義された次のスタイルによって適用される静的なページで

<div class="selectable_class" onclick="event handler here"> 
    <div class="ano_class"> 
     <!-- Contents--> 
    </div> 
</div> 

私はロードこのコードを使用して静的ページを表示すると、ホバー効果が期待どおりに機能し、色が白から青に変わり、白に戻ります。

次に、同じスタイルシートを使用し、PHPを使用してHTMLを動的に生成し、ホバー効果が失われたことに気づきましたが、divのクリックによって色の変化が引き起こされました。

私が正しくダイナミックHTMLを生成していました、私はソースの表示を行なったし、別のファイルに生成されたHTMLをコピーし、その後でいることをロードしていることを確認した。

魔法は、ホバー効果はそのバージョンで正常に働いていました!

私はこのサイトの他の場所を見て、効果があるドキュメントタイプについて説明しました。どちらの場合でも、私の文書タイプは次のように指定されています:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 

私はSafariバージョン5.1.2を使用しています。

誰かがこの行動について光を当てることができれば、私はとても感謝しています。

+3

これは意味をなさない。 Webブラウザは、サーバ上で何が起こるかについては何も知らず、静的なHTMLや動的に生成されたHTMLの場合はすべて同じです。違いをさらに調べる必要があります。 – dmedvinsky

+1

例を見せてもらえますか? – j08691

+0

コードを見て他にどのような違いがあるのか​​は、ダイナミックページからコピーされ、編集なしで静的ページに貼り付けられたものと同じでなければなりません。 – Braunius

答えて

1

PHPはサーバ上で動作し、Webブラウザに結果のHTML、CSSがどのように表示されるかについては、何の知識も影響もありません。違いがある場合、PHPで生成しているHTML/CSSは、静的ページに含まれているHTML/CSSと同じではありません。

+0

私が上で説明したように、以前の実行で読み込まれたJavascriptのキャッシュ問題は、そのページの生成されたソースコードには表示されません。 – Braunius

0

これは必ずしもあなたの質問に対する回答ではありませんが、IEの初期のバージョンでは理解できません。リンクではない要素にカーソルを置いてください。私はどのバージョンでこれが私の頭の上から真実に止まったのか分からない。

クロスブラウザソリューションをお探しの場合は、jQueryのなどのjavascript関数を使用する必要があります。それはまたあなたの現在の問題を解決する方法かもしれません。

+0

興味深いことに、この問題を抱えているコードの完全なコピーを、IEを実行している友人に提供しました。 – Braunius

+0

私はjqueryでホバーアプローチを使用して見ていきます。なぜなら、私はそのライブラリを他の場所で使用しているからです。 – Braunius

+0

実際に私の答えを調べる時間を取った後、私はそれがちょうどIE6までだったと思う。 IE7以降では、すべての要素にカーソルを置いてください。 IE6があなたにとって問題でないなら、あなたはそれについて心配する必要はありません。 – chipcullen

関連する問題