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>?

Était-ce utile?

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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top