在 Visualforce 中,我使用的是 <apex:dataTable> 组成部分如下:

<apex:dataTable value="{!Qualifications}" var="qual" styleClass="cv_table" >
    <!-- etc...  -->

...然后我使用 CSS 通过类名来设置表格的样式。问题是,VisualForce 像这样呈现 HTML:

<table class="cv_table" id="j_id0:j_id26" border="0" cellpadding="0" cellspacing="0">
    <!-- etc...  -->

class 属性是我想要的,但也指定了 cellpadding 和 cellspacing,这会干扰我的 CSS。

有没有办法阻止 Visualforce 渲染单元格填充和单元格间距属性 <apex:dataTable>?

有帮助吗?

解决方案 4

看起来像放弃 <apex:dataTable> 标记并使用更低的费用 <apex:repeat> 标签可能是执行此操作的唯一方法。

其他提示

上面提到的,您是否尝试过删除属性?指定ID

<apex:dataTable id="myTable" value="{!Qualifications}"...

然后

<script type="text/javascript">
  document.getElementById("myTable").removeAttribute("cellpadding");
  document.getElementById("myTable").removeAttribute("cellspacing")
</script>

为这些提供自己的价值如何(与CSS相同)呢?丑陋,但会起作用。

除此之外 - 将删除 /重新申请JavaScript?

我认为即使删除Salesforce CSS(<apex:page ... showHeader="false">)将完成此任务。

我不知道您是否可以在 Visualforce 中抑制这些属性。

但如果你真正问的问题是如何不让这些属性影响我的整体设计,那么我认为 CSS 可以提供帮助。

CSS 相当于 cellpadding 是 'padding',CSS 等价于 cellspacing 是“边框间距”。据我所知,后者仅适用于 TD 类型的元素。

.cv_table TD {
    border-spacing: 5px;
    padding: 5px;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top