【发布时间】:2015-10-25 21:20:48
【问题描述】:
我的第一次尝试是http://jsfiddle.net/b0vryojq/,但gmail在线客户端不处理
position所以我把它移到了http://jsfiddle.net/b0vryojq/2/(我需要它与中心对齐)但在调整客户端大小时仍然遇到问题
不提供使用嵌入图像,它必须是 css ...
【问题讨论】:
我的第一次尝试是http://jsfiddle.net/b0vryojq/,但gmail在线客户端不处理position
所以我把它移到了http://jsfiddle.net/b0vryojq/2/(我需要它与中心对齐)但在调整客户端大小时仍然遇到问题
不提供使用嵌入图像,它必须是 css ...
【问题讨论】:
不能保证自动边距在 Google 邮件中可以使用,但您可以尝试添加容器 div
<tr>
<td>
<div class="container">
<div class="top"></div>
<div class="bottom"></div>
</div>
</td>
</tr>
CSS
.container{
width:48px;
margin:auto;
}
.top{
margin-left: 17.5px;
min-height:24px;
background:#bedfd0;
width: 16px;
}
.bottom{
border:solid transparent;
border-width:26px;
border-top:31px solid #bedfd0;
border-bottom-width: 0;
}
Jsfiddle 在这里更新:http://jsfiddle.net/b0vryojq/6/
【讨论】:
如JSFIDDLE 所示,您可以使用 CSS calc() 来解决此问题
.div1 {
min-height:24px;
background:#bedfd0;
width: 16px;
margin-left:calc(50% + 8px);
}
.div2 {
border:solid transparent;
min-height:0;
width:0;
border-width:26px;
border-top:31px solid #bedfd0;
margin-left:calc(50% - 10px);
}
<tr>
<td>
<div class="div1"></div>
<div class="div2"></div>
</td>
</tr>
【讨论】:
margin-left:calc(50% - 10px);
20px * - 此函数应返回正值,因为这意味着,计算总数的 50%宽度并减去 10px
calc 被渲染,但第二个没有:\