I like to do things the simple way first before the complex ways :->
Depending on what you need to do...if you just want one picture to span the whole thing, just use the top pane, and do not put any modules in any other panes, and the other panes will dissapear. :-> viola....one pane, full width of the skin.
Now...more complicated....you want to have it apear to be 3 panes, but no gap. Take a look at what the people at DotNetNuke did on the new 4.09 version with teh new skin. Same thing....just one big HTML module, with some pictures in it, and each picture clickable. You could examine the text/html module of a 4.09 install with the DotNetNuke template loaded onto the portal...
Basically they did(I think), a table, no cell padding, no cell spacing, valign the rows to the top, pick how many ever cells you want, and throw your stuff in there.
The Text HTML module is a perfect work around for stuff that you don't want to modify a skin for, and it's safe then 'cause it only affects whats in that module.
Most all skins have(here comes my horible ASCII art :->)
TTTTTTTTTTTTTTTTTTTTTTTT [TOP PANE]TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
LLLL[LEFT PANE]LLLL CCCCCCCC[CONTENT PANE]CCCCCCC RRRR[RIGHT]RRRR
BBBBBBBBBBBBBBBBBBBBB[BOTTOM PANE]BBBBBBBBBBBBBBBBBBBBBBBBBBB
OK...So...if there isn't anything in the pane, the pane goes away, nifty....just look at the pane structure of a skin "row" wise rather than saying "how can i use all these panes", just say "which row will accomplish what I want best"...the top row will do that for you...throw in your TXT/HTML module, and space it out there :->
NOW...to go complicated...take whatever skin your using, copy the HTML file and rename it to "MyVersion.html" in the same folder....if it's a fancy skin, make sure you make copies of other files like skinname.doctype.xml or myskin.css or whatver....
Next parse the skin package, and see if you now have a skin called "MyVersion.html", if so, then apply it and make sure it still looks like the original, so you know if you copied it correctly....Do not use the ascx files, they'll just confuse the situation.
Now, go into your HTML file using your favorite text editor, and jack it all up, then parse the skin package again....click around on your site a bit to see the changes, hit the "reload" button on your browser if you don't see changes...pound your head against a wall, find some hard to read documentation and go down the wrong road for 3 or 4 weeks, then go back in and mess with the html file again...rinse, repeat.
Here is a table that will create some pane structure without gaps...BUT remember, when your in EDIT mode, it will do some wierd stuff and may seem to have a gap even though it doesn't....view mode is for lookin like a user, edit mode is for editing :->
<table class="MyNoPaddingNoMarginTable" cellpadding="0" cellspacing="0">
<tr valign="top">
<td id="TopPane" style="width:100%" runat="server"> </td>
</tr>
<tr valign="top">
<td id="MyLeftPane" style="width:25%" runat="server"></td>
<td id="ContentPane"><!-- This is a comment by the way, but remember you MUST have an ID of content pane at a minimum, and all panes can just simply be cells with a "runat=server" and NEVER use ID's for styling stuff, instead use classes, cause your IDs will change to whatever DNN whats -->
</td>
<td id="MyRightPane" style="width:25%"></td>
</tr>
</table>
****NOTE....I just typed that table out, and I cannot gaurantee anything worth while will happen with it, or that I didn't make a typo, odds are pretty good that I typo'd something :->
Anyhow, go into your new play around .html file, find the pane structure that is in the file already(IE look for stuff like "ID=contentpane runat=server", remove that table, and paste mine in...then parase the skin package, and prepar for nuclear meltdown :->
Good luck :-> I hope I didn't make it more confusing