Article Series: 3 Column Templates Step by Step Guides
Here are the steps to convert a Blogger default 2 column Scribe template in to a 3 column template with sidebars on left and right hand sides of the main post area.
(If you really want to understand what's happening here, read the article series Three Column Templates Explained.)
1) Add a new CSS id selector for the 2nd sidebar wrapper.
- Go to Layout -> Edit HTML
- Locate the #sidebar selector (Do a Find using your browser)
- Copy that full section and paste below the existing sidebar section (it doesn't have to below) and rename it to #right-sidebar
- Change the float: $startSide to float:$endSide of the #right-sidebar selector
- Change its width property to 200 pixels (See the code snippet below)
#sidebar {
width:150px;
float:$startSide;
padding:8px 0;
margin:0;
word-wrap: break-word; /* fix for ... in IE */
overflow: hidden; /* fix for ... */
}
#right-sidebar {
width:200px;
float:$endSide;
padding:8px 0;
margin:0;
word-wrap: break-word; /* fix for ... in IE */
overflow: hidden; /* fix for ... */
}
width:150px;
float:$startSide;
padding:8px 0;
margin:0;
word-wrap: break-word; /* fix for ... in IE */
overflow: hidden; /* fix for ... */
}
#right-sidebar {
width:200px;
float:$endSide;
padding:8px 0;
margin:0;
word-wrap: break-word; /* fix for ... in IE */
overflow: hidden; /* fix for ... */
}
2) Introduce a new div element, as a child of #wrap3, to be the placeholder for the 2nd sidebar
- Locate the <div id='footer-wrapper'> element.
- Copy the code shown in red, above that section (this has to be above)
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>
</b:section>
<div id='right-sidebar-wrapper'>
<b:section class='sidebar' id='right-sidebar' preferred='yes'>
</b:section>
</div>
<div id='footer-wrapper'>
<b:section class='footer' id='footer'/>
</div>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>
</b:section>
<div id='right-sidebar-wrapper'>
<b:section class='sidebar' id='right-sidebar' preferred='yes'>
</b:section>
</div>
<div id='footer-wrapper'>
<b:section class='footer' id='footer'/>
</div>
3) Expand the width of the parent wrappers to accommodate the new sidebar
- Locate the following CSS sections
- Change their width property to 900 pixels
#outer-wrapper {
...
width:900px;
...
}
#main-top {
width:900px;
...
}
#main-bot {
width:900px;
...
}
#wrap2 {
width:900px;
...
}
...
width:900px;
...
}
#main-top {
width:900px;
...
}
#main-bot {
width:900px;
...
}
#wrap2 {
width:900px;
...
}
4) Do necessary adjustments to margins, padding, floating etc
- Locate the #main section
- Insert a left margin of 7 pixels.
- Change its float property to $startSide
#main {
width:430px;
float:$startSide;
padding:8px 0;
margin:0;
margin-left:7px;
...
}
width:430px;
float:$startSide;
padding:8px 0;
margin:0;
margin-left:7px;
...
}
5) Modify and expand the background images as necessary.
- Add a template variable to define the image host location as explained here. (This step will open up in a separate window. Return to the next bullet point after that)
- Locate the following CSS selectors.
- Replace the URLs of the images to the ones shown in red below.
#main-top {
width:900px;
height:49px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_top_w.jpg") no-repeat top left;
...
}
#main-bot {
width:900px;
height:81px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_bot_w.jpg") no-repeat top left;
...
}
#wrap2 {
width:900px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_mid_w.jpg") repeat-y;
...
}
#header {
background:url("$imageHost/scribe_divider_w.gif") no-repeat bottom $startSide;
}
#footer {
clear:both;
background:url("$imageHost/scribe_divider_w.gif") no-repeat top $startSide;
...
}
width:900px;
height:49px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_top_w.jpg") no-repeat top left;
...
}
#main-bot {
width:900px;
height:81px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_bot_w.jpg") no-repeat top left;
...
}
#wrap2 {
width:900px;
background:#FFF3DB url("$imageHost/scribe_bg_paper_mid_w.jpg") repeat-y;
...
}
#header {
background:url("$imageHost/scribe_divider_w.gif") no-repeat bottom $startSide;
}
#footer {
clear:both;
background:url("$imageHost/scribe_divider_w.gif") no-repeat top $startSide;
...
}
Save the template. Switch to Page Elements view and enjoy your 3 column template! (The new sidebar might not be visible until you add some gadgets to it)
Note: You are free to use the images provided by me. But if you change your template according to this tutorial and use those images, please add the following code shown in red, right to the end of your template, in the place shown. It will simply link to this blog.
</div>
<a href="http://bguide.blogspot.com/2008/02/3-columns-step-by-step-guides.html">Three Column Modification</a> courtesy of <a href="http://bguide.blogspot.com">The Blogger Guide</a>
</body>
</html>
<a href="http://bguide.blogspot.com/2008/02/3-columns-step-by-step-guides.html">Three Column Modification</a> courtesy of <a href="http://bguide.blogspot.com">The Blogger Guide</a>
</body>
</html>
Related Posts








48 comments:
OMG!!!
It worked perfectly. You are awesome. Thanks for your help.
Wendy
Hi! Do you have a similar tutorial for changing Minima to three-columns? One wider one in middle, with one sidebar on each side of it? I almost feel like I could figure it out by converting this tutorial - but the key word there is ALMOST.
I just found your Minima tutorial! I'll go read it now. :)
I can't add gadgets on my new left side. How do I do that?
Just drag and drop them on to the left side
tried that. Isn't working.
Your right-sidebar has a width of 2000. Change that to 200 and see.
#right-sidebar {
...
width:200px;
...
}
OK Great. That has put the - add gadget - item there but now I can't get it to the top of the page so that it is in line with the other sidebar. It wants to put the items below my blog posts. I posted a picture and it shows at the bottom of the blog. Thank you so much for your help!
The 'float' property of your #main selector must be set to $startSide. (note the '$' character at the beginning)
#main {
width:430px;
float:$startSide;
padding:8px 0;
...
}
Ok! Got it. Thank you so much for your help. I am going to link to your site and let people know how helpful you were!
thanks once again!
my site is
http://timessquareatcraigranchonline.blogspot.com/
How do add a column to the right of my text??? HELP!
Hello again. I have been trying to adjust my header image of the axe by myself to no avail. can you help me with this? I would like to have it go all the way across so it fits the page.
Hopefully you can help!
By the way - Do you have a blogger button so I can post it on my page?
Hi, I tried it but didnt come out right, where did i go wrong?
could you help me?
Hi! Thanks so much for your post! Mine came out almost perfectly, but I'm having two problems:
1. The posts column is too close to the left column, and I can't figure out how to change the margin on the left side of the main column to fix it.
2. My very top scribe background piece is a little too far over to the right.
Can you help?
Thanks!
Nevermind! Got it! Thanks!
Hi I got it! Just a quick question, if I wanted to make it as wide as 1000 instead of 900, what do I need to change? I tried changing the 900 to 1000 in the layout section of my html and it's not doing it right.
Can anyone help? Please?
Thanks :)
If you want to increase the width to 1000 px, then you need a different set of images in step (5).
Just modifying the column width to 1000 will not work.
Drop me a mail if you want custom images done.
Thanks so much! It was easier to do then I thought! I have one issue and I do not know how to change it. The middle column is a bit to close to the left column. How can I fix it so there is a little more space between the two? Thanks!
Lmaco
Hi Lisa,
You can do that by increasing the 'margin-left' property of the #main selector.
Both left and right margins of the main column are now at 7 pixels (7 px). Note, however, that when you increase the 'margin-left', that will squeeze the right margin and thereby push your main column towards the right sidebar. For example, if you make 'margin-left' equal to 12 px, then your right margin will be 2 px.
Hello, I'm working on using this 3-column format on my own blog and I have it working except in the Firefox browser the header graphic does not appear centered above the three columns like I want. In IE it looks centered. Not sure why it looks different in the two browsers. Any ideas?
Here's my blog...
http://posterityproject.blogspot.com/
Thanks for the tips on your site. When I've finished the updates I'll be sure to post about it and link to your site.
Hi Gordon,
Firefox' behavior is standard compliant and therefore it shows the image as left-aligned, whereas IE with some non-standard behavior shows it centered.
Centering the image need somewhat complex tweaks to the template and it doesn't work sometimes as well.
So the easiest thing for you will be to modify the image to match the new width of the blog and set it again. (Since your header image is very simple, you could expand it even using MS Paint)
HTH,
ids.
That worked like a charm! Thanks for the tip. I'm posting an update about the new three-column format on my blog this weekend.
Glad I discovered this blog. Keep the tips coming!
- Gordon
I get this message, when I click on "preview"
"More than one widget was found with id: BlogList1. Widget IDs should be unique."
Daniel
In step 2, the new sidebar code should not contain any widgets. You must have copied the existing sidebar with all the widgets in it. As shown in code snippet for step 2, only the <b:section> element should be there.
Wow! This is great! Thanks so much. One prob though. The posts column is too close to the left column and not centered. I tried increasing the px in #main but it didn't work. http://upcafe.blogspot.com/
Thanks for all your hard work. I'll certainly pass this on!
I tried another set od firecyions and could not get this too work, but yours worked perfectly, thanks! But I cannot get my header centered for the life of me! Any suggestions?
Ok wow I should not type while holding the baby... Supposed to say 'of directions' :)
Rather than centering the header image (which also requires tweaking of the template), what I recommend is to expand it to fit the new width.
I will work on that, Thanks!!
Hi,
I am having the same problem as the person earlier. My third column appears after the posts section way below. I checked the #main and it was properly coded for $start. I have been trying to figure this out for hours...I am completely frustrated. Can you help? Please.
Thanks,
R.
Hi Roseanna,
Your #wrap2 selector is still at 700px. Make it 900. You must have missed it in step 3. After that, add some widgets to the right column from the Page Elements view. It should be fine then.
Hi,thank you I discovered it just before I read yoyr note...I feel like an idiot! I just knew it was something simple. You instructions are perfect, and I am so grateful.
R.
Thank you, thank you, Thank you! It worked! I am so thrilled. I've been looking for a 3 column format for a long time. I tried several other websites; they didn't work. Yours did! I am so happy. You can bet I'll be posting about how easy it was to follow your directions.
Im having trouble too. I cant add any widgets to the right column. Help, what did I do wrong? Ive gone over the code several times but cant figure it out.
Thanks so much :)
You have erased the closing brace ( } ) of the #sidebar selector.
#sidebar {
width:150px;
float:left;
padding:8px 0;
margin:0;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}
It has to be closed with a brace as shown above.
Then also replace the background image for #wrap2 in step 5.
Remove the unwanted dots ( ... ) in the #main selector, after the margin-left:7px; line.
Thank you so much for all your help. I appreciate it.
Ive been having trouble posting a response. Hopefully this works.
Hey thanks for your help. I want to make my 2 column template to a 3 column template. Hope your article help me.. :)
Wow! I'm a total newbie, I started blogging this week and didn't like any of the templates as they were. I followed your instructions and they worked like a charm the very first time! I will absolutely provide a post and a link. Thank you so much!!! I'm off to try another tweak.....thanks again.
How to I move my post column, it's too close to the left column? I'm a newbie!
THANK YOU THANK YOU THANK YOU!!! I was scared to try, but your How-to worked perfectly :)
~ Johanna
Hello i did all the steps but the background picture repeats itself.. and i have a borwn bar horizontally through out the entire blog.. how do i fix it?
Hi! Thanks so much for this service! I tried it but can't seem to manoeuvre anything in the layout/gadget page - it just shows everything in the centre column and I have no left or right columns... Please help!
@ DValor and Deniz,
Please email with your blog URLs.
I have been trying this on a test blog that I have before I do it to my actual blog and I'm having the problem where it makes the right sidebar appear all the way at the bottom.
Here's my problem... when I put the $startSide; it doesn't let me save it and says:
We were unable to save your template
Please correct the error below, and submit your template again.
Invalid variable declaration in page skin: Variable is used but not defined. Input: start
PLEASE HELP!! You can email me at amandagaribay@yahoo.com
AHA! Amanda, make sure that you did the first BULLET in step #5, I must have missed that and now it works great! Thanks!
AMAZING! I know NOTHING about html (forgive me for shouting, I'm just sooo excited)
it worked! I accidentally skipped step 5 somehow. But when I realized it, I just did it, and then all was fine!
thanks! thanks! thanks!
i owe u.. big time!
great work, great guide, great step by step explanation, everything is just great!
thanks alot!
My problem is it hates me...it is giving me 2 sidebars on the left rather than on on the right and one on the left. Hmmmm
Post a Comment
Thanks in advance for all your comments and suggestions. They are very much appreciated.
IMPORTANT:
If you have a specific technical question, please email me with a description of the problem and the blog's URL.