Visualforce数据表:有没有办法阻止它渲染 cellpadding 属性?
-
28-09-2019 - |
题
在 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;
}
不隶属于 StackOverflow