Hi,
I've been thinking a bit about how to do CSS in my Picasso app, and
was wondering what others thought.
The basic idea is that I have a stylesheet that I'd like applied on
all my pages, and then in some of the pages, have some specialized
styles. My initial thought was to use <style> tags, but that gets
messy with my Border component, since the <style> tags need to appear
in the <head> tags. I could simply inline the styles too, but once
again, that makes things messy.
Ideally, I'd like to push as much of the CSS out of the HTML file as
I can -- even if the CSS is really only valid for that one file.
@importing other CSS files seems to be the best thing to do, but then
it becomes a matter of overriding the stylesheet asset on each of the
specialized pages. Just to reiterate what I think the problem here
is, is that for a common stylesheet, I simply specify the asset in my
Border component spec and I'm all set. If I need to shift this up to
the page level though, each page needs to specify the stylesheet
asset, which I think is just asking for trouble.
So, I've been toying with the @Asset annotation and inheritance.
This is looking like a pretty decent solution. By creating a base
class with the @Asset and setting the org.apache.tapestry.default-
page-class meta value in the app spec file, I have basically what I
want. There are a couple issues here though: 1) The stylesheet is
specified in the Java file, so changes here require a recompilation
(probably not that big of a deal though), and 2) pages that want
specialized CSS and that previously didn't need specialized page
classes now do, in order to override the getStylesheet() method. I'd
almost rather in this latter case to specify the overriding
stylesheet in the page spec file, rather than create a mostly useless
class. However, this doesn't seem to work, as the getStylesheet()
method clashes with the page spec definition.
So, what are you guys doing? What are your thoughts on the matter?
Thanks,
Kevin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]