0

RoundCube gives a nice color scheme for the plain-text email below.

I am wondering how does RoundCube do this, and how to implement this color scheme in Delphi ?

>>>> Peter says: 
>>>> Peter says: 
>>> Jane says:
>>> Jane says:
>> Peter says: 
>> Peter says:
> Jane says:
> Jane says:
Peter says: 
Peter says: 

roundcube

4

1 回答 1

5

我不知道 RoundCube 是怎么做到的;我对产品不熟悉。不过,使用 HTML 和 CSS 可以直接实现效果。

blockquote我为电子邮件引号使用了嵌套元素:

<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <blockquote>
          <blockquote>
            Peter says:<br/>
            Peter says:
          </blockquote>
          Jane says:<br/>
          Jane says:
        </blockquote>
        Peter says:<br/>
        Peter says:
      </blockquote>
      Jane says:<br/>
      Jane says:
    </blockquote>
    Peter says:<br/>
    Peter says
  </blockquote>
  Jane says:<br/>
  Jane says:
</blockquote>
Peter says:</br>
Peter says:

然后我根据 CSS 中的嵌套级别为边框和文本着色:

body {
  font-family: 'Times';
}
blockquote {
  background-color: #eee;
  border-left: 3px solid #00f;
  border-right: 3px solid #00f;
  color: #00f;
  padding: 0.6em 0.9em 0.3em;
  margin: 0 0 0.3em;
}
blockquote > blockquote {
  color: #0f0;
  border-color: #0f0;
}
blockquote > blockquote > blockquote {
  color: #b22;
  border-color: #b22;
}

你可以看一个现场演示

RoundCube 是一个 Web 电子邮件程序,因此您可以查看它生成的 HTML,如果您想确认它是如何工作的。

该任务最困难的部分是解析电子邮件以识别同一级别的文本块,但这超出了本问题的范围。

于 2014-04-10T17:20:49.943 回答