Frage

In Visual, ich bin mit einem <apex:dataTable> Komponente wie folgt:

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

... und dann die Tabelle Ich bin mit CSS-Stil, über die Klassennamen. Das Problem ist, Visual macht HTML wie folgt aus:

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

Das Klassenattribut ist es, wie ich wollte, aber es auch ist cellpadding und cellSpacing angegeben, die mit meinem CSS stören.

Gibt es eine Möglichkeit Visualforce, um zu verhindern Rendern der cellpadding und Cellspacing Attribute für ein <apex:dataTable>?

War es hilfreich?

Lösung 4

Es sieht aus wie den <apex:dataTable> Tag zu verlassen und mit dem mehr Low-Fi <apex:repeat> Tag könnte den einzigen Weg, dies zu tun.

Andere Tipps

oben erwähnt, haben Sie versucht, die Attribute zu entfernen? Geben Sie die ID

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

dann

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

Was ist Ihre eigenen Werte für diese (die gleichen wie in der CSS) bietet? Hässlich, aber funktionieren würde.

Anders als das - Attribut Entfernung / erneute Anwendung die Klasse mit JavaScript

Ich glaube nicht, dass auch die Entfernung von Salesforce CSS (<apex:page ... showHeader="false">) wird diese Aufgabe erfüllen.

Ich weiß nicht, ob Sie diese Attribute in Visualunterdrücken können.

Aber wenn die Frage Sie wirklich fragen, wie kann ich nicht lasse diese Attribute mein gesamtes Design beeinflussen, dann denke ich, CSS helfen kann.

Die CSS Äquivalent cellpadding ist 'padding' und die CSS-Äquivalent von cellspacing ist 'border-spacing'. Letzteres funktioniert nur auf Elemente vom Typ TD, soweit ich weiß.

.cv_table TD {
    border-spacing: 5px;
    padding: 5px;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top