1

SSL 経由で接続すると、特定のスタイルがスタイルシートから削除されます。リズムや理由はわかりませんが、一貫してドロップされているのと同じスタイルです. おそらく特筆すべきは、display:none; で非表示にする予定だった要素です。見える。リストのスタイルもデフォルトのブラウザー設定に戻り、いくつかの背景画像 (すべてではありません) も削除されます。すべての URI パスは、ページ ヘッドとスタイルシート自体の両方からの相対パスです。

たとえば、次のように動作します...

body { background: url(../images/bg-yellowstripes.jpg) repeat 0 0; }

しかし、次の行はありません...

#masthead { background: url(../images/bg-header.jpg) repeat-x 0 100%; }

ページを適切に表示し、IE 混合コンテンツの警告を回避するのに役立つ経験がある人はいますか? Internet Explorer にのみ影響します。Firefox、Safari、Chrome はすべて、SSL 警告なしでページを正常にレンダリングします。

4

4 に答える 4

2

CSSファイルを絶対パスでロードしているようです。たとえば、HTTP および HTTPS で提供されるサイトがある場合は、代わりに相対パスを使用する必要があります。

絶対: (これを行わないでください。SSL 経由で表示すると、IE はセキュリティ警告を表示します)

<link rel="stylesheet" href="http://mydomain.com/css/style.css" />

相対的:

<link rel="stylesheet" href="/css/style.css" />

スタイルが別のドメイン (CDN など) からのものである場合は、プロトコルを指定する代わりに二重スラッシュを使用します。これにより、パスは、CSS リクエストを行うときにページがリクエストされたプロトコルを継承します。

<link rel="stylesheet" href="//otherdomain.com/css/style.css" />

また、IE 開発者ツールを使用します。それらは、ページからどのネットワーク リソースがロードされているかを正確に教えてくれます。

于 2013-03-29T19:52:25.003 に答える
0

相対パス構造と同様に、IE9 以下の場合、クライアントにメモリ制限があり、スタイル シートが大きすぎると読み込みが停止します。大量のファイルをキャッシュしている場合、これが起こっていることがわかります

于 2015-01-28T14:59:54.493 に答える
0

別の URL (fonts.googleapis.com など) からフォントを読み込む場合は、CSS のプリアンブルを確認してください。パスに「HTTPS」も指定されていることを確認してください。この単純な変更により、CSS over HTTPS の問題が即座に解決されました。

古いプリアンブル: @import url(' http://fonts.googleapis.com/css?family=Roboto ... など)

正しい前文: @import url(' https://fonts.googleapis.com/css?family=Roboto ... など)

于 2015-09-29T12:46:04.430 に答える
-1

次のように、CSS バックグラウンド パスに引用符を追加してみてください。

body { background: url('../images/bg-yellowstripes.jpg') repeat 0 0; }

また、backgroundプロパティには値の特定の順序が必要であることを読みました (color url Xpos Ypos repeat)。したがって、次のようになります。

body { background: url('../images/bg-yellowstripes.jpg') 0 0 repeat; }

それ以外にも、Web サイトにスタイルをロードしているときに、私のスタイルがドロップされたことも 1 度ありhttp://ましたhttps://。しかし、相対パスを使用しているので、それは別のものだと思います。

キャッシングの問題かもしれません。

于 2013-03-29T19:42:22.360 に答える