2014-05-14 9 views
6

Dies kann eine einfache Sache für viele Leute sein, aber ich habe damit zu kämpfen. Ich möchte eine Linie mit Farbe zeichnen „hr“ mit HTML-Tag Dies ist, was ich versucht habe, so weit in ui.R Datei:Wie zeichne eine Linie mit Farbe in glänzenden Anwendung

HTML("<hr color='purple' >") 
HTML('<hr color="purple" >') 
hr(color="purple") 

Keiner von ihnen gearbeitet - irgendwelche Vorschläge bitte?

+0

Das [hr-Element] (http://www.w3.org/TR/html5/grouping-content.html#the-hr-element) hat kein "color" -Attribut. Versuchen Sie, mit Ihrem Tool HTML zu generieren. – Quentin

Antwort

0

Shiny bietet eine Menge Kontrolle über das Aussehen und Verhalten der Anwendung, aber es kommt vor, dass die Farbe hr keine davon ist. Sie müssten also nach CSS suchen, um das Erscheinungsbild des Elements zu steuern. Sie können dies tun, indem Sie in Shiny includeCSS verwenden, um ein Stylesheet hinzuzufügen, mit dem Sie das Aussehen Ihrer App steuern können. Der einfachste Weg wäre jedoch wahrscheinlich, das CSS direkt in Ihr hr Element einzufügen.

HTML('<hr style="color: purple;">') 

(EDIT) Beachten Sie, dass, während dies für die meisten Elemente funktionieren würde, hr nicht respektieren die color Eigenschaft. hr s verhalten sich seltsam: Changing the color of an hr element

Hier ändern Sie die CSS color Eigenschaft Ihres Elements hr. Siehe https://developer.mozilla.org/en-US/docs/Web/CSS/color

Beachten Sie auch, dass Sie hr(style="...") verwenden können, anstatt das rohe HTML zu erstellen, wenn Sie bevorzugen. Ich finde, dass das Konstruieren von allem mit Shiny-Tags den Code in den meisten Fällen ein wenig leichter zu lesen macht, aber YMMV.

+0

Ich habe gerade mit Ihrem Vorschlag versucht, und es ist immer noch nicht Farbe in die Zeile hinzufügen. Ich verwende Chrome Version 34.0.1847.131 m. Glaubst du, dass es etwas damit zu tun hat? – Sri

+0

Entschuldigung, ich habe gerade bearbeitet. Diese Kommentare gelten für die meisten Elemente, aber 'hr's sind seltsam. Sie müssen nur das richtige CSS finden, um eine 'hr' zu stylen. http://stackoverflow.com/questions/6382023/changing-the-color-of-a-hr-element –

+0

Danke Jeff - so, das ist eines dieser Löcher mit Chrom. Ich bin jetzt gut mit der Grenzfarbe für die Linie. – Sri

8

Es dauerte ein wenig schnell Graben/Lesen in die Antworten und Kommentare hier, aber, Zusammenfassung, diese (ich auf Mac Chrome, Safari getestet und Firefox) zu arbeiten aussieht:

tags$hr(style="border-color: purple;") 

Sie kann auch HTML() verwenden, wenn gewünscht, aber könnte auch mit den Shiny-Tags, IMHO bleiben.

Verwandte Themen