-1

何らかの理由で、メディア クエリに問題があります。

これが私のCSSの外観です

#main {
    font-size: 16px;
    font-size: 1.6rem;
}

PHP を使用して、ハッキングの場合に備えて各ブラウザ、つまり IE の HTML に次のようにクラスを与えます。

<?php
   // ----| user agent (browser) |----------------------------
      $msie = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false;
      $firefox = strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') ? true : false;
      $safari = strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') ? true : false;
      $chrome = strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome') ? true : false;
?>
<html class="<?php if($msie == true){ echo "msie "; } if($firefox == true){ echo "firefox "; } if($safari == true){ echo "safari "; } if($chrome == true){ echo "chrome "; } ?>" lang="fr">

問題は、CSS を機能させるには、次のように html クラスを呼び出す必要があることです。

.firefox #main,
.chrome #main,
.safari #main,
.msie #main {
    font-size: 16px;
    font-size: 1.6rem;
}

なぜこれが起こるのかについてのアイデアはありますか?

4

3 に答える 3

9

: ユーザー エージェントの検出は、「メディア クエリ」とは少し異なります。

https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

別の観察: これらの CSS クラスを「html」タグではなく「body」タグに追加するつもりだと思います。

IE ハックに関するあなたの質問に関して、以下は「IE 専用スタイルシートの作成方法」に関する優れたリソースです http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

于 2013-08-09T15:17:28.553 に答える
0

私は過去にこのライブラリを使用しましたが、それは素晴らしいです (そして積極的に維持されています):

https://github.com/cbschuld/Browser.php

于 2013-08-09T15:23:05.403 に答える
0

あなたのcssには、HTMLがタグである必要がある前に述べたように、 #main を複数回使用する必要がないという問題があります

これを試して

<body class="<?php if($msie == true){ echo "msie "; } if($firefox == true){ echo "firefox "; } if($safari == true){ echo "safari "; } if($chrome == true){ echo "chrome "; } ?>" lang="fr">

CSS

.firefox,
.chrome,
.safari,
.msie, 
#main {
    font-size: 16px;
    font-size: 1.6rem;
}
于 2013-08-09T15:24:09.570 に答える