Loading...
 
Skip to main content

Redo CSS Structure to be less local and more mode-driven

Status
Closed
Subject
Redo CSS Structure to be less local and more mode-driven
Version
2.x
Category
  • Feature request
Feature
Theme: Look & feel, Styles, CSS, Theme Control Center
Resolution status
Out of Date
Submitted by
jhwheuer
Volunteered to solve
jhwheuer
Lastmod by
Bernard Sfez / Tiki Specialist
Rating
(0)
Description

After looking through the CSS for TikiWiki, one quickly find several redundancies and inconsistencies (modules are not consistently using CSS in the same way, just take a look at the login box with different renderings to see what I mean). On top of that, some CSS classes requested by the code are actually not existing in some CSS... (separatorline etc in some menus)

SO, should we not rethink the styles system?

What I am thinking of is less of a local (modul-driven) approach but rather a context/mode-driven approach.

For example, we could structure the class names so they properly represent the place of usage: header,main, left, middle, right, bottom as pre-fixes, and the usage as the tag, and a qualifier as the postfix.

Example:
A Menu item would be location_menuitem_qualifier
A Menu item on the left side would be left_menuitem_qualifier.
A Menu Option on the left side would be left_menuitem_option

SMARTY knows precisely where it is rendering. So we could generate a standard variable in smarty called $CSS_LOCATION, which smarty maintains. All css requests are parsed through a smarty function that assembles the propper prefix.

The qualifier is there to make writing CSS a little easier. We can simply create a DIV as an envelope around a structure, assigning the class location_usage to that. All elements inside would then automatically inherit those characteristics, and the CSS part would only have to deal with the diviation. Those should be clustered together in the CSS to give a clear view on what happens in this particular usage...

I know that this is most probably a &%$&-load of nitty-gritty work, but once done, we should be able to then write a little app that makes developing CSS much easier (maybe even inside TikiWiki) Biggest problem: how to we manage the transition to the new approach, how to maintain backwards compatibility, and how to get alignment on the structure itself...

COMMENTS are very welcome.

J

Importance
5
Priority
25
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
725
Created
Monday 22 May, 2006 15:15:21 UTC
by Unknown
LastModif
Monday 11 October, 2021 12:06:13 UTC


Show PHP error messages