- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Render Snake以编程方式为我生成 HTML 的 HTML 库。我正在尝试使用 RenderSnake
制作一个 HTML 表格,如下所示。
PoolName TotalSyncCount TotalAsyncCount SyncNinetyFivePercentile AsyncNinetyFivePercentile
Hello 100 100 4 0
World 300 300 2 0
PoolName
、TotalSyncCount
、TotalAsyncCount
、SyncNinetyFivePercentile
和 AsyncNinetyFivePercentile
是我的列名。
下面是我可以使用 RenderSnake
库创建的示例,它会为我生成 HTML。
public class RendersnakeTest {
public static void main(String[] args) throws IOException {
List<PoolMetrics> poolMetricsList = new ArrayList<>();
poolMetricsList.add(new PoolMetrics("A", "0", "0", "0", "0"));
poolMetricsList.add(new PoolMetrics("A", "1", "1", "1", "1"));
poolMetricsList.add(new PoolMetrics("A", "2", "2", "2", "2"));
poolMetricsList.add(new PoolMetrics("A", "3", "3", "3", "3"));
poolMetricsList.add(new PoolMetrics("A", "4", "4", "4", "4"));
HtmlCanvas html = new HtmlCanvas();
html.html().body().table().tr().th().content("PoolName").th().content("TotalSyncCount").th()
.content("TotalAsyncCount").th().content("SyncNinetyFivePercentile").th()
.content("AsyncNinetyFivePercentile")._tr();
// add the rows
for (PoolMetrics pool : poolMetricsList) {
html.tr()
.td(class_("city-table")).content(pool.getPoolName())
.td().content(pool.getTotalAsyncCount())
.td().content(pool.getTotalSyncCount())
.td().content(pool.getSyncNinetyFivePercentile())
.td().content(pool.getAsyncNinetyFivePercentile())
._tr();
}
// close the table
html._table()._body()._html();
// write the file
final String rendered = html.toHtml();
final File output = new File("c:/output.html");
Files.write(output.toPath(), rendered.getBytes("UTF-8"), StandardOpenOption.TRUNCATE_EXISTING);
// and send out an html email with above table
// so at this moment I would like to have css embedded in my html table so that once I receive html email
// it should have applied css in it
SendEmail.getInstance().sendEmail("abc@host.com", "abc@host.com", "TestSubject", html.toHtml());
}
}
class PoolMetrics {
private String poolName;
private String totalSyncCount;
private String totalAsyncCount;
private String syncNinetyFivePercentile;
private String asyncNinetyFivePercentile;
public PoolMetrics(String poolName, String totalSyncCount, String totalAsyncCount, String syncNinetyFivePercentile, String asyncNinetyFivePercentile) {
this.poolName = poolName;
this.totalSyncCount = totalSyncCount;
this.totalAsyncCount = totalAsyncCount;
this.syncNinetyFivePercentile = syncNinetyFivePercentile;
this.asyncNinetyFivePercentile = asyncNinetyFivePercentile;
}
public String getPoolName() {
return poolName;
}
public String getTotalSyncCount() {
return totalSyncCount;
}
public String getTotalAsyncCount() {
return totalAsyncCount;
}
public String getSyncNinetyFivePercentile() {
return syncNinetyFivePercentile;
}
public String getAsyncNinetyFivePercentile() {
return asyncNinetyFivePercentile;
}
}
问题陈述:
现在我想在上面的表格上应用 CSS,但我不确定如何应用。一般来说,我想用这个 CSS在我的上表中使用 RenderSnake
库。
我无法从他们的文档中理解如何应用 CSS。谁能帮我做这件事?
我无法理解的是我们将 CSS 文件放在哪里以便它可以在我的 table 上应用该 CSS 以及我的程序如何知道它必须应用该 CSS。通常,我会将我的表格作为 HTML 电子邮件的一部分发送出去,因此在电子邮件中,表格中应该嵌入了所有 CSS。
我熟悉 HTML 和 CSS 及其工作原理,但对 RenderSnake
库及其使用方法感到困惑。
最佳答案
鉴于此处的示例 RenderSnake Examples,您必须缺少创建头部部分,您可以在其中添加链接的样式表,如下所示:
public class Head implements Renderable {
public void renderOn(HtmlCanvas html) throws IOException {
html
.head()
.macros().stylesheet("htdocs/style-01.css"))
._head();
}
}
完整示例:
public class Head implements Renderable {
public void renderOn(HtmlCanvas html) throws IOException {
html
.head()
.title().content(canvas.getPageContext().getString("title"))
.meta(name("description").add("content","renderSnake doc",false))
.macros().stylesheet("htdocs/style-01.css"))
.render(JQueryLibrary.core("1.4.3"))
.render(JQueryLibrary.ui("1.8.6"))
.render(JQueryLibrary.baseTheme("1.8"))
._head();
}
}
剩下的一个问题是您将如何发送电子邮件 - 并非每个邮件应用程序都能够将带有链接样式表的标题部分附加到电子邮件中。如果您的邮件应用不是,您应该考虑将 CSS 设置为内联样式。此外,由于许多电子邮件客户端可能会删除标题部分,因此推荐使用内联样式 - http://www.benchmarkemail.com/help-FAQ/answer/Using-CSS-in-HTML-emails 。
还有对 RenderSnake 元素所有者 Ernest Micklei Simple HTML Output From Java Using renderSnake 的采访,其中有一个在添加 HTML 输出时设置样式的示例,但不推荐这种方法,因为样式设置为附加元素上方的 css-class:
public class Logo implements Renderable {
public void renderOn(HtmlCanvas html) throws IOException { //@formatter:off
html
.div(id("logo"))
.div(id("logo_text"))
.h1()
.a(href("index.html"))
.write("render")
.style().write(".snake { color:yellow; }")._style()
.span(class_("snake")).write("S")._span()
.write("nake")
._a()
._h1()._div()
._div();
}
}
这将导致(在 RenderSnake 站点 html 源代码中可见):
<a href="index.html">render<style>.snake { color:yellow; }</style>
<span class="snake">S</span>nake</a>
所以因为这些包裹在body中的style-tags的classes也可能被邮件客户端移除,所以应该建议按照设置html-attributes的例子中提到的方式添加内联样式这里:http://rendersnake.org/devguide.html#attributes
html.div(id("me").class_("hidden")).content("Invisible text");
比如
html.td(style("color:#000000;")).content("Black text");
如果还没有完成,则有必要
import static org.rendersnake.HtmlAttributesFactory.*
为此。
如果这不可行,上面的链接中还提到可以添加新属性:
new HtmlAttributes("key","value").add("another-key","another-value");
但我猜 RenderSnake 已经包含样式属性了。
作为进一步的引用:Best practices for styling HTML emails,这里有一些有用的信息:http://kb.mailchimp.com/campaigns/ways-to-build/using-css-in-campaigns(虽然我不会推荐任何特殊的邮件服务,CSS 和 HTML 电子邮件的问题在那里有很好的描述)和其中一个答案中提到的工具链接 SO-post: http://templates.mailchimp.com/resources/inline-css/
关于java - 如何使用 RenderSnake 库将 CSS 应用于 HTML 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25840501/
我有一个名为 main.css 的 css 文件和另一个名为 style.css 的文件。我怎样才能在 main.css 中做到这一点? .someClass { //apply rules to
在更新我的 css 之前,我在 Login.css 中有以下内容: body { background-image: url('./pictures/fond.png'); bac
我的 share point 2013 核心 css 和我的 css 之间存在 css 冲突。所以我想把我所有的类都放在 div #s4-workspace 下但是我搜索了一种方法来将所有类分组到这个
我知道您可以覆盖 jsp 页面从 jsp 包含 CSS 文件(即全局 CSS 文件)继承的 CSS 属性。 但是,如果元素中的某个属性弄乱了特定页面,而我不想只使用内联 CSS 在该页面中使用它怎么办
我刚刚发现了 initial-scale 元属性。 以前,我一直在使用 default.css 来定义我所有的样式和大小(用于字体和元素),以便它们在桌面计算机的屏幕上显示得很好。然后,如果您使用的是
我正在尝试使用 LESS CSS 来编写我的 CSS。我已经按顺序导入了 style.less 和 less.js 文件。 现在我想提取 LESS 生成的 CSS。有什么办法可以做到吗?我不想使用脚本
我想知道是否有任何一种软件可以读取大量内联样式中的 HTML 文档并将所有这些样式转换为外部 css 文件。如果只有一页,我可以手动完成。但是有100页。有人有想法吗? 最佳答案 就像有人说的那样,“
当我想从 Styled Components 迁移到 CSS Modules 时,出现了以下问题。 假设我有以下样式组件,它接受动态参数 offset和一个动态 CSS 字符串 theme : con
有没有办法将 CSS 类定义为与另一个类相等?例如,如果我有一个类: .myClass{ background-color: blue; } 有没有一种方法可以将第二个类定义为与 myClas
我正在尝试制作一组按钮,这些按钮贴在页面底部并且由固定的空间隔开。我正在使用 angularJS 的 ng-repeat 指令通过 ajax 请求获取数据,然后我用它来显示按钮。 我的问题在于让按
浏览器是否在加载 CSS 文件时解析 CSS?还是在整个 CSS 文件被浏览器下载后才进行解析?不同浏览器的做法有区别吗?我在哪里可以找到这种底层信息? 这个问题不是 Load and executi
这个问题在这里已经有了答案: Can a CSS class inherit one or more other classes? (29 个答案) 关闭 3 年前。 标题有点乱,我给大家看一下。假
我遇到了最奇怪的问题...... 在最简单的形式中,我有一个包含以下内容的 index.html 文件: (在尝试确定根本原因的过程中,我已经大大减少了它) 当我查看页面的源代码时,我得到以下信息:
我正在使用 Mindscape Workbench 来最小化我的 scss 文件。我的页面设置为使用 *.min.css 文件。在随机时间,min 文件不会与系统的其余部分一起发布。 我有很多 css
请告诉我 CSS 框架和 CSS 网格之间的区别。 最佳答案 CSS 框架也可以是 CSS 网格框架。 CSS 网格框架用于构建 CSS 布局。有一些框架除了构建布局还有其他用途,例如 Hartija
我有无法从页面中删除或更改的 original.css 文件。原始.css table { border-collapse: collapse; border-spacing: 0;
我以前使用 bootstrap css import 很好。 但是我正在尝试使用 CSS 模块,所以我添加了几行。 { test: /\.css$/, use:
有没有办法在 css 选择器中创建一个 css 组。 例如: .SectionHeader { include: .foo; include: .bar; include: .
今天我学习了 CSS 中的两个概念,一个是 CSS 定位(静态、相对、绝对、固定),另一个是 CSS Margin,它定义了元素之间的空间。 假设我想移动一个元素,这是最好的方法吗?因为这两个概念似乎
var paths = { css: './public/apps/user/**/*.css' } var dest = { css: './public/apps/user/css/' } /
我是一名优秀的程序员,十分优秀!