Marc wrote:
> I try to write the attributes value of an element before it, but I don't know
> exactly which attributes are on the element, and some attribute with
> different style.
> I try to use the ::attributes but in this case I have to use the three
> division.
> I'm not sure to explain me then I try to give a sample.
> <Texte NomStyle="Essai" Numero="N23">ceci est un texte </Texte>
> -->[Essai]{N23}ceci est un texte
> <Texte NomStyle="Essai">ceci est un texte </Texte>
> -->[Essai]ceci est un texte
> <Texte Numero="N23">ceci est un texte </Texte>
> -->{N23}ceci est un texte
> I try to do
> Texte[Numero]:before {
> content: "{" attr(Numero) "}";
> }
> but in the first case this rule doesn't run, and if I have 3 attributes I
> have to write all the combination.
Yes, you need to write 3 combinations. What's the problem?
Texte[Numero]:before {
content: "{" attr(Numero) "}";
}
Texte[NomStyle]:before {
content: "[" attr(NomStyle) "]";
}
Texte[NomStyle][Numero]:before {
content: "[" attr(NomStyle) "]{" attr(Numero) "}";
}
> something like :
> Texte:before {
> content:attributes();
> }
This should be sufficient. No need to add Texte::attributeXXX rules,
unless you want to customize th contents of the generated Attributes Box.
> Texte::attribute(Numero) {
> content:attribute-label() " : " value-editor(attribute,attribute())
> }
> doesn't run but :
Try:
Texte::attribute("Numero") {
content:attribute-label() " : " value-editor(attribute,attribute())
}
Notice the quotes around Numero. These are needed because CSS
identifiers are case-insensitive. Therefore ::attribute(Numero) is
understood to be ::attribute(numero).
> Texte::attribute{
> attribute-content-left: attribute-label() " : " ;
> attribute-content-middle : value-editor(attribute,attribute());
> }
> is ok.
> I hope all this is clear.
---
PS: Normally this level of support is reserved to Professional Edition
customers.