【问题标题】:Can we escape the % sign used as relative unit [duplicate]我们可以转义用作相对单位的 % 符号吗?
【发布时间】:2018-09-14 18:27:06
【问题描述】:

我在表格中有一个按钮。我希望这个按钮相对于表格具有全宽,这可以通过将width=100% 设置为按钮来实现。

问题是我使用 '%' 字符作为占位符。后端,服务器正在用其他东西替换 .html 文件中出现的“%”。到目前为止,它运行良好,因为所有相对单位 '%' 无论如何都在不同的 css 文件中,但这次我必须处理电子邮件 html,所以我无法将它分开。

所以基本上我正在寻找一种方法来逃避width=100%中的'%',这样最后的结果是相似的,但没有'%'字符。

【问题讨论】:

  • 进行替换的服务器技术是什么? Escape% 必须得到该技术的支持。
  • 好吧......如果它是一个我们完全不知道的自定义解析器,那么我们无法知道转义会起作用。我想你的意思是一个完全不同的选择。为此,我们可能需要查看实际的标记。
  • @NineBerry 占位符 '%' 被替换为 c/c++ 服务器。电子邮件 html 应该能够被所有更大的电子邮件服务器(如 gmail)查看。
  • @Álvaro González 等一下,我的英语不是很好。我寻找像width=100\27 这样的东西,然后gmail会例如解释为width=100%。问题是,如果在 .html 文件中遇到任何 '%' 符号,我的解析器/服务器会在两者之间工作。
  • 如果服务器是你的,那么就做 printf 做的事:让%% 转义序列得到一个文字%

标签: html css


【解决方案1】:

您可以使用 HTML 实体。 % 符号是 U+0025 PERCENT SIGN 所以:

<p style="width: 33&#x25;; background-color: pink;">Hello,</p>
<p style="width: 67&#x25;; background-color: pink;">World!</p>

请记住,HTML 实体只能在 HTML 上下文中工作:

<p>Hello</p>
<p>World!</p>
<style>
p:nth-child(1){
  width: 33%; /* Valid */
  background-color: pink;
}
p:nth-child(2){
  width: 33&#x25;; /* Invalid */
  background-color: pink;
}
</style>

【讨论】:

  • @NineBerry 这是一个重要的细节。我已将其添加到答案中。非常感谢。
  • 在我问这个问题之前,我尝试在&lt;style&gt;&lt;/style&gt; 中进行这种转义,它不起作用这就是这个问题的原因 XD。无论如何,在这些 html 上下文中使用它对我来说非常好。再次感谢你们!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-13
  • 2011-05-15
  • 2011-12-04
相关资源
最近更新 更多