CSS阻止在Gmail App Mobile上不起作用

问题描述

当我使用Gmail应用程序(移动版)查看电子邮件时遇到此问题:

  • 表格列堆叠在除Gmail应用之外的所有电子邮件客户端上的移动设备上

我注意到样式在google上不起作用,但是如果我使用内联的CSS(例如style =“ background-color:red”)将其工作。

我看到很多文章说不适用于gmail,但是另一种说法是,只要将其放在标记内,就可以起作用。

主要布局:

@using Sitecore.Mvc.Analytics.Extensions

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--[if !mso]><!-->
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <!--<![endif]-->
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <title>
        <!-- Used for storing title of the email -->
        @Html.Sitecore().Field("Subject")
    </title>

    <!-- The VisitorIdentification control ensures that people viewing this page with a traditional web browser will be classified as humans not bots. This control is not required if people only view messages using Email clients -->
    @Html.Sitecore().VisitorIdentification()

    @if (Sitecore.Context.PageMode.IsExperienceEditorEditing)
    {
        <link href="~/Assets/5-Components.min.css" rel="stylesheet" />
    }
        <style type="text/css">
            body {
                margin: 0px !important;
                padding: 0px !important;
            }

            .wrapper > tbody > tr > td {
                box-sizing: border-box;
            }

            @@media only screen and (max-width:720px) {
                .wrapper {
                    width: 90% !important;
                    margin: auto;
                }

                .templateColumnContainer {
                    display: block !important;
                    /* padding: 0 !important; */
                    width: 100% !important;
                }

                .marginBtm {
                    margin-bottom: 0px;
                }

                .footerLeft {
                    border-right: 5px #c2c2c2 solid;
                    border-bottom: 0px #c2c2c2 solid !important;
                }

                .footerRight {
                    border-left: 5px #c2c2c2 solid;
                    border-top: 0px #c2c2c2 solid !important;
                }
            }
        </style>
</head>

<body style="min-height: 97vh; background-color:#c2c2c2; font-family: Arial,Helvetica,sans-serif; box-sizing: border-box" class="@((Sitecore.Context.PageMode.IsExperienceEditorEditing) ? "edit-mode" : string.Empty)">
    <div style="min-height: 97vh; margin:0; padding-top: 16px; background-color:#c2c2c2; font-family: Arial,sans-serif; box-sizing: border-box">
    

        <center>
            @Html.Sitecore().Placeholder("mail-body")
        </center>
    </div>
</body>
</html>

组件占位符:


@model XX.Project.EXM.Models.ColumnComponent

<table width="600" cellpadding="0" cellspacing="0" class="wrapper">
    <tbody>
        <tr>
            <td width="50%" class="templateColumnContainer marginBtm" style="background-color: @Model.BackgroundColor; border: 5px #c2c2c2 solid; Padding: @Model.getFormattedPaddingDistance(); color:@Model.TextColor;">
                @Html.Sitecore().DynamicPlaceholder("mail-left-double-column")
            </td>
            <td width="50%" class="templateColumnContainer" style="background-color: @Model.BackgroundColor; border: 5px #c2c2c2 solid; Padding: @Model.getFormattedPaddingDistance(); color:@Model.TextColor;">
                @Html.Sitecore().DynamicPlaceholder("mail-right-double-column")
            </td>
        </tr>
    </tbody>
</table>

解决方法

当GMail在CSS中遇到错误时,它将从头部移除整个<style>块。

您的媒体查询前面有2个@符号。

@@media only screen and (max-width:720px) {

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...