Visualforce dataTable: est-il un moyen pour l'empêcher de rendre l'attribut cellpadding?
-
28-09-2019 - |
Question
Dans Visualforce, j'utilise un composant <apex:dataTable>
comme suit:
<apex:dataTable value="{!Qualifications}" var="qual" styleClass="cv_table" >
<!-- etc... -->
... puis j'utilise le style CSS pour la table, via le nom de la classe. Le problème est, Visualforce rend HTML comme ceci:
<table class="cv_table" id="j_id0:j_id26" border="0" cellpadding="0" cellspacing="0">
<!-- etc... -->
L'attribut class est là que je voulais, mais il y a aussi cellpadding et cellspacing spécifié, qui interfèrent avec mon CSS.
Y at-il un moyen d'arrêter Visualforce de rendre les attributs cellpadding et cellspacing pour un <apex:dataTable>
?
La solution 4
Il ressemble à abandonner la balise <apex:dataTable>
et en utilisant plus de balise <apex:repeat>
low-fi pourrait être la seule façon de le faire.
Autres conseils
Mentionnés ci-dessus, avez-vous essayé d'enlever les attributs? Spécifiez l'ID
<apex:dataTable id="myTable" value="{!Qualifications}"...
puis
<script type="text/javascript">
document.getElementById("myTable").removeAttribute("cellpadding");
document.getElementById("myTable").removeAttribute("cellspacing")
</script>
Qu'en est-il fournir vos propres valeurs pour ces (comme dans le CSS)? Laid, mais fonctionnerait.
Autre que cela - la suppression attribut / réappliquer la classe avec JavaScript
Je ne pense pas que la suppression même de SalesForce CSS (<apex:page ... showHeader="false">
) accomplira cette tâche.
Je ne sais pas si vous pouvez supprimer ces attributs dans Visualforce.
Mais si vous voulez savoir vraiment comment puis-je laisse pas ces attributs affectent ma conception d'ensemble, alors je pense que CSS peut vous aider.
L'équivalent de CSS cellpadding
est « padding », et l'équivalent de CSS cellspacing
est « espacement-frontière ». Ce dernier ne fonctionne que sur des éléments de type TD pour autant que je sais.
.cv_table TD {
border-spacing: 5px;
padding: 5px;
}