如何解决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) {