2

私はそれを読みましたが、jQueryを使用してスタイルシートを追加する最良の方法は次のようです:

 $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystyle.css">');

今私がやりたいことは、この方法を使用して異なるテーマを切り替えることです:

<script type="text/javascript">
      $(document).ready(function () {
          if($('body').hasClass('pink'))
          {
              $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystylePink.css">');
          }
          else
          {
              $('head').append('<link rel="stylesheet" type="text/css" href="../css/mystyle.css">');
          }
      });
</script>

MY QUESTION : javascript を有効にしていないユーザーとは別に、このようなスタイルシートをロードするときに、どのような複雑さ/問題が存在しますか? いいえ?モバイルブラウザ?本当は携帯サイトで使いたいので…

4

2 に答える 2

2

ここでの主な問題は、IE やモバイル ブラウザーではなく、スタイルシートの読み込み中にスタイル設定されていないコンテンツがフラッシュされることです。

CSS プリプロセッサ (SASS、LESS) を使用し、通常のスタイルで 1 つのスタイルシートを使用してから、.pinkその下のクラスでオーバーライドすることをお勧めします。

.myClass{
  color: white;
  background: black;
}

.pink .myClass{
  color: pink;
  background: grey;
}
于 2013-03-25T13:15:42.377 に答える
1

このメソッドは IE8 以下では機能しません。

IEss の document.createStyleSheet() メソッドなど、別のメソッドを使用する必要があります。

詳細については、このディスカッションを参照してください: Can I load external stylesheets on request?

于 2013-03-25T13:16:20.910 に答える