【发布时间】:2016-04-21 09:37:50
【问题描述】:
我之前使用 html 和内联 css 构建了电子邮件。我最近决定添加媒体查询以使它们更适合移动设备。但是我想知道内联样式(css)是否会优先于媒体查询。
例如:如果我对 iPhone 进行媒体查询,电子邮件会显示来自适当媒体查询的样式还是内联样式?
谢谢!!
【问题讨论】:
标签: html css media-queries html-email
我之前使用 html 和内联 css 构建了电子邮件。我最近决定添加媒体查询以使它们更适合移动设备。但是我想知道内联样式(css)是否会优先于媒体查询。
例如:如果我对 iPhone 进行媒体查询,电子邮件会显示来自适当媒体查询的样式还是内联样式?
谢谢!!
【问题讨论】:
标签: html css media-queries html-email
当浏览器使用您的页面时,它会像使用文本流一样使用它。它将首先遇到您的 <script> 和 <link> 标签,然后下载并执行 JavaScript 和/或 CSS 文件。然后浏览器将继续向您的<body> 发送流。如果您有内联样式,则必须由浏览器 b/c 重新绘制页面,因为它在 HTML 中遇到了新的 CSS。内联样式具有最高优先级,通常应避免使用,但它们会覆盖外部 CSS 文件中的内容。
【讨论】:
当您定义内联样式时,它可用于所有设备和您编写的任何媒体查询集。
并且内联样式具有最高优先级,因此在您的情况下显示的样式将具有内联样式。
如果您想覆盖内联样式,则需要使用 !important 在媒体查询中添加样式。
供参考 - CSS Specificity
【讨论】:
!important 来覆盖内联样式是非常丑陋的,可能会导致问题。