2013-06-23 17 views
7

Ich fange gerade an, SlickGrid zu benutzen und über seine Qualität erstaunt zu sein. Wenn es jedoch um das Styling geht, habe ich keine Dokumente oder Beispiele gefunden, die einen umfassenden Styling-Ansatz empfehlen. Es gibt Optionen und APIs, die an verschiedenen Orten verteilt sind, aber es ist sehr schwierig, daraus eine Strategie zu extrahieren. Außerdem nutzt das Grid jQuery UI-Themen. Leider stören sie das, was ich erreichen möchte. Wir haben jQuery UI nur für das Kalender-Widget zusammen mit dem ui-darkness-Thema aufgenommen. Dieses Thema funktioniert perfekt für das Kalender-Widget, aber das Raster muss jeden Aspekt davon überschreiben.Was ist der empfohlene Ansatz, um ein SlickGrid zu stylen?

Hier ist eine JsFiddle, die das Aussehen zeigt, das ich versuche zu erreichen: http://jsfiddle.net/nareshbhatia/3q6RD/. Nur zur Veranschaulichung verwendet es eine reguläre HTML-Tabelle. Allerdings würde ich gerne das gleiche Styling mit SlickGrid erreichen. Das CSS in diesem jsFiddle ist im Wesentlichen die Anforderung, die ich von meinem visuellen Designer habe, z.

#positions-table th { 
    background-color: #505050; 
    color: #eeeeee; 
    text-shadow: none; 
    font-size: 13px; 
    height: 40px; 
    line-height: 40px; 
} 

Edit: Ich habe auch eine jsFiddle mit einem Starter SlickGrid Umsetzung: http://jsfiddle.net/nareshbhatia/vJshY/. Wie du sehen kannst, hat das Thema u-Dunkelheit vollständig übernommen!

Antwort

5

In Ihrem zweiten/letzten jsFiddle können Sie die CSS ändern den Code haben

.slick-header-column.ui-state-default { 
    background:none ; 
    background-color: #505050 ; 
    color: #eeeeee; 
    border: none; 
    padding: 0; 
    text-shadow: none; 
    font-family: Arial, Verdana, Helvetica, sans-serif; 
    font-size: 13px; 
    height: 40px; 
    line-height: 40px;  
} 

.slick-row.ui-widget-content, .slick-cell { 
    background: none; 
    background-color: #eeeeee; 
    color: #666666; 
    border: none; 
    border-bottom: solid 1px #ffffff; 
    font-size: 14px; 
    height: 60px; 
    line-height: 60px; 
    padding: 0 5px; 
} 
+0

Dank @ghiscoding. Das funktioniert wirklich gut. Es wäre gut, dieses oder ein ähnliches Beispiel in die Dokumentation aufzunehmen. Auf ein Problem. Wenn ich diese Stile in mein reales Projekt einfüge, wird die .slick-row-Klasse etwa 60 Mal mit einer dynamischen Deklaration wie der folgenden überschrieben: .slickgrid_357698 .slick-row {height: 30px; }. Beachten Sie, dass die Höhe zu 30px überschrieben wird, so dass die Zeilen gequetscht werden. Irgendeine Idee, warum das passiert? In Ihrem Code sehe ich nur eine Überschreibung, und es ist mit dem gleichen Wert (60px), so sehe ich keine Probleme. – Naresh

+0

Ok, habe es herausgefunden. In meinem realen Projekt hatte ich options.rowHeight auf 30px eingestellt. Sobald ich das auf 60px änderte, bleibt die Höhe bei 60px. Versteh immer noch nicht, warum SlickGrid wiederholt .slickgrid_357698 .slick-row setzt {height: 60px; }. – Naresh

+0

Es kann davon abhängen, wo Sie Ihren CSS-Code gegen den CSS-Code von slickgrid gesetzt haben, ich meine, welcher ist endlich geladen? Ich gehe davon aus, dass der letzte Code, der geladen wird, Vorrang hat ... jetzt können Sie immer versuchen, '! Wichtig' in diese Zeile zu schreiben, dies wird sicherstellen, dass es die ganze Zeit dauert. 'Höhe: 60px! wichtig;' – ghiscoding

Verwandte Themen