【问题标题】:Can I make my title font size dependent on the width of the object using CSS alone?我可以单独使用 CSS 使我的标题字体大小取决于对象的宽度吗?
【发布时间】:2019-06-16 02:24:40
【问题描述】:

如前所述,这是用于电子邮件模板,在 gmail、yahoo 邮件、邮件(ios 应用程序)等电子邮件客户端中读取。因此。我不能使用 jQuery,@media 查询被剥离,类也是。

所以我有一个固定的字体大小,但因为在手机上的 gmail 上宽度更小,很多时候文本会被包装成 2 行。 我想要做的是使用与宽度相关的字体大小。 所以我尝试的是像这样使用 vw:

 <p style="font-family: 'Lato', sans-serif; font-size: 2.5vw;font-weight: bold;line-height: 34px; padding: 0 5%; margin: 5% 0 0 0; color: #24b646;">
        {{title}}
    </p>
</td>

我的问题是,即使我的主视图的最大宽度为 640 像素。为了设置它在所有宽度上计算的字体大小。

所以这有一个奇怪的效果。即使View本身是640px,因为TAB变大了,文字变大了

发件人:

收件人:

是否有可能使 vw 使用父级的宽度作为因变量?如果没有,我还能使用什么,以便字体大小将严格依赖于它的父级? (640px - 电脑的最大宽度,或移动设备的屏幕宽度)

【问题讨论】:

  • @Paulie_D 请取消将此问题标记为 DUPLICATE,因为它不是。并再次阅读要求。正如我和 Max Ploner 对 Django 模板化电子邮件所说的那样。这意味着,媒体查询、类被 gmail、ymail 和大多数电子邮件客户端剥离。也不允许使用 jQuery。所以你给出的问题是重复的,不要回答我的问题,在 jQuery 中完成:(
  • 你在媒体查询中尝试过百分比吗?大约 95% 的电子邮件客户端支持媒体查询。
  • 除了移动版的 gmail 和 ymail 以及 ios 的邮件应用之外都可以使用
  • 抱歉,移动版 Gmail 确实支持媒体查询,除非它们已经很久没有更新了。 Y mail (Yahoo?) 支持邮件正文中的媒体查询。 Mail iOS 应用程序会执行此操作,但由于未提供代码,因此无法检查您的代码。
  • 我明天上班,我会调查一下,非常感谢。既然我知道它必须工作,我会更多地研究我的媒体查询,我也会在这里发布我的代码

标签: html css django-templates html-email email-templates


【解决方案1】:

不幸的是,这似乎在 CSS 中是不可能的。看看这两个问题:

那里提供的解决方案使用无法在电子邮件客户端中运行的 JavaScript。但一种可能的解决方法是将文本写入 svg 图像并对其进行缩放(尽管通常文本应作为文本包含在内)。

CSS Tricks 解释了一些字体大小选项,最后一个可能是您正在寻找的选项(使用 svg-text)。

【讨论】:

  • 谢谢,我去看看,让你知道我做了什么
  • 嘿,抱歉回复晚了,今天用 svg 试过了,但它仍然是静态的(不是自动调整大小)
  • 这个问题是电子邮件客户端特定的,即。如果您在浏览器窗口中调整模板大小,它会起作用吗?你能展示你是如何实现 svg 的(可能是精简的变体)吗?
  • 这通过邮件客户端。例如。我的 API 创建模板,并向 example.email.com 发送电子邮件。然后我在手机上打开 Gmail 客户端或 YMail 客户端,文本不起作用。我无法更改手机上的浏览器窗口。是的,如果我使用我拥有的模板,将代码移动到 html 文件中并在 Chrome 中打开并响应用户,它确实有效。但我不需要它在 Chrome 中运行,我需要它在所有邮件客户端中运行,包括移动客户端
猜你喜欢
  • 2018-10-17
  • 2010-12-14
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
相关资源
最近更新 更多