-1

今日は、サイトの css が IE7 で正しく機能しない理由を解明することにほとんどの時間を費やしました。http://www.ecocamel.comでサイトを見ることができます。

シャワーヘッドのある製品スクローラーページにたどり着いたとき。..すべてが混乱しており、マウスオーバーポップアップが部分的にマウスオーバーなしで表示され、製品がコンテナから右側に流れ出ています..

overflow:hidden と position:relative を追加してみましたが、これでかなりの部分が修正されました..しかし、他のブラウザでは、ウェブサイトが左右の矢印の一部を切り取ってしまいました...

だから私は今のところすべてを削除しました。他のすべてのブラウザで完全に機能することに腹を立てるだけです. 他のブラウザに影響を与えずに修正する最善の方法を見つけるにはどうすればよいですか? 他のブラウザーに影響を与えないように、overflow:hidden / postion:relative を条件付き IE7 ステートメントで追加できると思いますが、それでも問題は適切に解決されません。

4

3 に答える 3

1

良い方法は、条件付きコメントを使用することです。
あなたが使用することができます:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="ie6"> <![endif]-->
<!--[if IE 7]>         <html class="ie7"> <![endif]-->
<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->

この場合、追加のクラスが html タグに配置され、IE6/7/8 用に明示的にスタイル設定できます。

お気に入り:

div {color:#ff00ff}
.ie7 div {color:#00ff00;}
于 2012-08-17T14:24:33.507 に答える
0

Google の「IE の条件付き CSS」を参照すると、IE バージョン x+ または具体的には ie7 のみの条件付き CSS を作成する方法を示す多数のチュートリアルが見つかります。ほとんどの Web サイトでは、大量の IE 調整ではないにしても、ある程度の調整が必要です。また、一貫性を保つために、reset.css を参照して、すべてのマージンとパディングを 0 に設定してください。

于 2012-08-17T14:24:54.223 に答える
0

条件付きの IE7 ステートメントを使用する場合、それを行うにはくだらない方法のように思えますが、CSS を書き直さずにそれが唯一の代替手段である場合は、それが最善の解決策です。

GordonM が述べたように、コードを見ずに何が起こっているのかを知ることは困難です。しかし、あなたが を使用しているので、ポップアップがすべての上に表示されるようposition:relativeに使用することをお勧めします (そうすべきです)。z-index

これと同様に、CSS ボックス モデルに正しく従っていますか? divまたはpタグを作成するときは、次の基本的なステートメントを書く傾向があります。

    div {
      float:left;
      width:100%;
      margin:10px;
}

これはクロス ブラウザーに準拠しています。私は以前、すべてのブラウザーで 1 つの CSS ファイルのみを Web サイトに使用することを望んでいた代理店で働いていたからです。HTML と CSS を使用して Web ページを作成し、条件文を使用せずにすべてのブラウザー (IE6 を除く) で動作させることができます。しかし、あなたは開発の終わりに来ている/近づいていると思うので、CSS を完全に書き直す立場にはありません。したがって、最初に z-index のアイデアを試してから、上記のコードを影響を受ける div に適用してみてください。

于 2012-08-17T14:22:00.043 に答える