css 样式通过 ssl 消失

标签 css html internet-explorer

当通过 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 警告。

最佳答案

听起来您正在使用绝对路径加载 CSS 文件。例如,如果您有一个要通过 HTTP 和 HTTPS 提供服务的站点,您应该改用相对路径。

绝对:(不要这样做,通过 SSL 查看时 IE 会发出安全警告)

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

相对:

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

如果样式来自另一个域(例如 CDN),请使用双斜杠而不是指定协议(protocol)。这将导致路径在发出 CSS 请求时继承请求页面所使用的协议(protocol)。

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

此外,使用 IE 开发人员工具。他们会准确地告诉您哪些网络资源正在从页面加载,哪些是 SSL 下的,哪些不是。

关于css 样式通过 ssl 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10940525/

相关文章:

javascript - 是否有可能使 JQuery keydown 响应更快?

javascript - 这是跨站脚本: DOM in dhtmlHistory. js吗

html - 全高容器无边框折叠 — HTML 和 CSS

html - float 和内联 block 元素上的省略号文本溢出

javascript - 如何使 bootstrap popover 与固定按钮一起移动

html - 文本丢失当我在 Google chrome 的内容可编辑 Div 中使用省略号时

html - 为什么我的 d3.tip 不起作用?

javascript - 如果 URL 已在选项卡中打开,则防止在新选项卡中打开链接

html - 代码在 F8 单步执行期间有效,但在正常运行时无效

internet-explorer - IE11 - Crystal Reports - PrintMode ActiveX 现在显示 PDF 提示(而不是打印机提示)?