FrameWikistyle


This test page demonstrates how the use of <span> tag instead of <div> tags for creating floating frames (in wikistyles.php) displays them incorrectly in some browsers (like Google Chrome).

The issue has been reported at http://pmwiki.org/wiki/PITS/01160


The list of pages (Test.Fr*) here is created using

 %rframe%(:PageList group=Test name=Fr* fmt=#simple list=normal:)

It shows up in a frame placed on the right of the page in Firefox and IE, as expected out of the %rframe% wikistyle. However in Google Chrome the list will appear on the left (the region of normal text flow), while a small empty frame will float on the right.


The reason for this is that the above line of code creates a <div> block inside a <span> block. The <span> block is created by "rframe", while the div block is created by "PageList?". Technically it is illegal to create a <div> (a block element) inside a <span> (an inline element). While IE and Firefox fixes this issue, Chrome does not.

Possible solutions:

  1. Create a "div" tag instead of a "span" tag in wikistyles.php - replace "span" with "div style='display:inline;'" (line 95 of wikistyles.php as of PmWiki v 2.2.8).
  2. In config.php add the line $spanTag = 'div style="display:inline;"';
  3. Use >>rframe<< instead of %rframe% in your wiki page, when you need to style blocks of text instead of inline characters. --Petko January 02, 2010, at 04:01 AM

Thanks Petko. I wasn't aware of that.. new to PmWiki. :) You can remove this issue page if you want.

 0: 00.00 00.00 config start
 1: 00.01 00.01 config end
 2: 00.20 00.20 MarkupToHTML begin
 3: 00.21 00.21 ReadApprovedUrls SiteAdmin.ApprovedUrls begin
 4: 00.22 00.21 ReadApprovedUrls SiteAdmin.ApprovedUrls end
 5: 00.22 00.22 MarkupToHTML end
 6: 00.23 00.22 MarkupToHTML begin
 7: 00.24 00.23 MarkupToHTML end
 8: 00.24 00.23 MarkupToHTML begin
 9: 00.24 00.24 MarkupToHTML end
10: 00.25 00.24 now
Peak memory: 3,691,784 bytes