XHTML Attribut style

Status
Nicht offen für weitere Antworten.

prand01

Grünschnabel
Hallo!
Ich habe zum Markieren einer Zeile in einer dataTable unter JSF über dan Tag outputText mit dem Attribut style die Farben und die Breite eingestellt. Dabei ist die Breite wichtig, um nicht nur den Text mit der Markierung zu hinterlegen sonder die gesamte Spaltenbreite.
z.B.:
<h:eek:utputText value="#{Textinhalt}" style="color=white; background: #afafaf; width:300px"/>
wenn die Spalte 300 breit ist.
Ich muss das Ganze jetzt in Facelets umsetzen. Facelets verlangt bzw. erstellt für den Output XHTML.
Meinen Untersuchungen nach sieht es so aus, als würde XHTML die width-Eigenschaft im Attribut style einfach ignorieren. Ich brings einfach nicht hin eine ordentliche Markierung darzustellen.
Ist meine Erkenntnis über XHTML richtig bzw. kann mann das ander lösen?
Danke im Voraus für ev. Beiträge
Grüße Manfred
 
Ist im Prinzip soweit richtig, wenn das Attribut und dessen Wert auch so übergeben werden, bzw. ausgegeben werden, wie es dein Code verlangt. Allerdings hat sich ein (zwei) kleiner Fehler eingeschlichen: «color=white;» sollte color: white; heißen. Außerdem hast du das abschließende Semikolon hinter width: «300px» vergessen (Vorschlag, der ggf. Fehlern beim erweitern der Eigenschaften vorbeugen kann).

Code:
<h:outputText value="#{Textinhalt}" style="color: #fff; background-color: #afafaf; width: 300px;" />
 
Zuletzt bearbeitet:
Hi,
danke für Deine Antwort! Habe mich bei der Eigenschaft color verschrieben. Das fehlende
Semikolon am Schluss ist HTML offensichtlich egal.
Hat jemand vielleicht eine Idee, wie ich eine derartige Markierung unter XHTML sonst erreiche, wenn ich den Datensatz auswähle?

Schöne Grüße
 
Hi,
so sieht's jeden falls dann im generierten Quellcode aus:
Code:
<td width="300"><span id="table:cds:0:j_id10" style="color:white; background: #afafaf width=300px;">Text</span></td>

HTML stellt es wie gewünscht dar und XHTML ignoriert offensichtlich die 300px
 
Hi.

Ein span ist ein inline-Element. Siehe den Beitrag von michaelsinterface.

Verwende stattdessen ein div.

Gruß

PS: Außerdem hast du wieder ein Semikolon vergessen. Und da darf auch kein Gleichheitszeichen stehen. Im HTML wird lediglich die width Angabe vom <td> interpretiert - mit dem style Attribut hat das nichts zu tun.
 
Zuletzt bearbeitet:
Hallo,
danke für den Tip mit dem DIV!!
Code:
					<t:column width="300">
						<f:facet name="header">
	           			               <h:outputText value="Interpret" />
						</f:facet>
						<t:outputText value="#{cd.interpret}" rendered="#{cdBean.id!=cd.id}" />
						<div style="color:white; background: #afafaf;">
							<t:outputText value="#{cd.interpret}" rendered="#{cdBean.id==cd.id}" />
						</div>
					</t:column>

Grüße Manfred
 
@michalsinterface (#4)
Bitte entschuldige, wenn ich dich da auf dem falschen Fuss erwischt habe, das war lediglich ein Hinweis, weil es meiner Meinung nach zu einem guten Code-Stil gehört, weil es Fehlern beim erweitern der Eigenschaften vorbeugt.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück