Ok I found an easy work-around for integrating my page into PunBB.
My layout looks like this:

--------------------------------------------------
|                     header (PunBB)                 |
--------------------------------------------------
|            ------------------------------           |
|   left     |        forum (PunBB)       |   right  |
|            |      or custom content     |           |
|            ------------------------------           |
|            ------------------------------           |
|            |        footer (PunBB)      |           |
|            ------------------------------           |
--------------------------------------------------
|                     footer                               |
--------------------------------------------------

Problem was that the custom left menu and the resulting custom content by clicking on the menu only reacted
to my custom styles if it wasn't already declared in PunBB or if I put an !important next to it.

The solution is to take out the class="pun" from the template and only wrap it around PunBB content, in this case
the header and middle part.

Problem 1) from the first post remains though tongue

Jérémie wrote:

For the first question, IIRC it's a feature not a bug. The CSS files are properties oriented, not tag oriented (?set the font once and for all? instead of ?set all CSS properties for the lists once and for all?).

Ok I understand, but this really leads to confusing CSS ^^

Imagine how a user would go about changing the styles: "Hmm, I want to change the look of those tables ..."

User opens CSS file and looks for the <table>, <td>, <th> tags but instead of one nice group of declarations which
tells him everything he has to know, those style tags are spread all over the place. A little bit of background here,
some border over there, more color in another file, and a link yet in another file.

First of all I absolutely love this bulletin board!

This is exactly the fast, light-weight, user-friendly, easy-to-modify, xhtml validating (the list goes on ... smile) board I've been looking for!

I'm currently adapting it for a planned site of mine, and it's great fun to work with in all aspects except CSS.

IMHO the way the CSS is laid out needs to be redesigned. I'll try to briefly address the problems:

1) Style tags are too spread out. For example I found 4 declarations for the <body> tag, some even in different files. This makes editing tiresome because you have to look for all snippets of a style tag to understand what's going on (also some could use a renaming, so you know what it does just by looking at the name). Why not have all <body> styles in one declaration?

2) Almost all base tags (table, td, ul, li, h1, h2, ...) start with a .pun in front of them. This causes user-defined styles to be overwritten. For example there was a .pun h2 and I had my custom h2 that just wouldn't react to my styles. Only an !important fixed the problem, but adding this everywhere isn't exactly efficient. What I did is remove all the .pun in front of base tags.

While these issues aren't game-breaking I think a single, easy-to-read CSS file would really improve the workflow. For example like this:


/*************** main ***************/
html {} 
body {}
..

/*************** tables ***************/
table {}
th {}
td {}
..


/*************** forms ***************/
form {}
input {}
..


/*************** links & headings ***************/
a {}
a:link {}
..

h1 {}
h1 a:link {}
..

h2 {}
h2 a:link {}
..



/*************** icons ***************/
...



/*************** header ***************/
#brdheader {}
#brdmenu {}
#brdmenu li {}
..


/*************** middle ***************/
#brdmiddle {}
..

            
/*************** footer ***************/
#brdfooter {}
..

Also support for BBCode lists (

  • ...

) would be nice.

Otherwise keep up the great work tongue


(Edit: while still editing the CSS I found about 10 different style declarations for #brdmenu, spread all over the place. Some things like font-weight were even declared multiple times.)