Hi, I am using the CSSMenu top + columns template, and I am trying to add a third column to get an igoogle kind of look.
Unfortunately, I am completely unfamiliar with PHP (hence CMSMS). So to do this, I have removed the center "main" block from the template and recreated 6 "sidebar" blocks, each with float='' so that they kind of stack horizontally (right?). I also tried to put each one 33% and flloat them left, center, and right but that doesn't work either. They just kind of create two columns, then fall to the next line.
Can someone tell me what I need to add to get that 3 column, paneled igoogle look? Here's my template code:
{process_pagedata}
{* Change lang="en" to the language of your site *}
{if isset($canonical)}{elseif isset($content_obj)}GetURL()}" />{/if}
{sitename} - {title}
{* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *}
{metadata}
{* Don't remove this! Metadata is entered in Site Admin/Global settings. *}
{stylesheet}
{* This is how all the stylesheets attached to this template are linked to *}
{cms_selflink dir="start" rellink=1}
{cms_selflink dir="prev" rellink=1}
{cms_selflink dir="next" rellink=1}
{* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *}
{literal}
=b){nw=b+"px";}if(w
#pagewrapper {width:expression(P7_MinMaxW(720,1150));}
#container {height: 1%;}
{/literal}
{* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout: Top menu + 2 columns" *}
{* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links *}
{anchor anchor='menu_vert' title='Skip to navigation' accesskey='n' text='Skip to navigation'}
{anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}
{* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *}
{* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "For template: Left menu + 1 column" *}
{cms_selflink dir="start" text="$sitename"}
{* End Header *}
{* Start Navigation *}
Navigation
{menu template='cssmenu.tpl'}
{* End Navigation *}
{* Start Search *}
{search}
{* End Search *}
{* Start Content (Navigation and Content columns) *}
{* Start Sidebar *}
{content block='Sidebar'}
{* End Sidebar *}
{* Start Sidebar2 *}
{content block='Sidebar2'}
{* End Sidebar2 *}
{* Start Sidebar3 *}
{content block='Sidebar3'}
{* End Sidebar3 *}
{* Start Sidebar4 *}
{content block='Sidebar4'}
{* End Sidebar4 *}
{* Start Sidebar5 *}
{content block='Sidebar5'}
{* End Sidebar5 *}
{* Start Sidebar6 *}
{content block='Sidebar6'}
{* End Sidebar6 *}
{* End Content Area *}
{* End Content *}
{* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{global_content name='footer'}
{* End Footer *}
{* end pagewrapper *}
____________________________________________________________________________
Here's my stylesheet code:
/*****************
browsers interpret margin and padding a little differently,
we'll remove all default padding and margins and
set them later on
******************/
* {
margin:0;
padding:0;
}
/*
Set initial font styles
*/
body {
text-align: left;
font-family: century gothic;
font-size: 75.01%;
line-height: 1em;
}
/*
set font size for all divs,
this overrides some body rules
*/
div {
font-size: 1em;
}
/*
if img is inside "a" it would have
borders, we don't want that
*/
img {
border: 0;
}
/*
default link styles
*/
/* set all links to have underline and bluish color */
a,
a:link
a:active {
text-decoration: underline;
/* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */
background-color: inherit;
color: #9a9b9d;
}
a:visited {
text-decoration: underline;
background-color: inherit;
color: #000000; /* a different color can be used for visited links */
}
/* remove underline on hover and change color */
a:hover {
text-decoration: none;
color: #f479020;
}
/*****************
basic layout
*****************/
body {
background-color: #ccc;
color: #333;
margin:1em; /* gives some air for the pagewrapper */
}
/* center wrapper, min max width */
div#pagewrapper {
border: 1px solid black;
margin: 0 auto; /* this centers wrapper */
max-width: ''; /* IE wont understand these, so we will use javascript magick */
min-width: '';
background-color: #fff;;
color: black;
}
/*** header ***
we will hide text and replace it with a image
we need to assign a height for it
*/
div#header {
height: 120px; /* adjust according your image size */
background: #000000;
}
div#header h1 a {
/* you can set your own image here */
background: #000000 url(uploads/images/logo1.gif) no-repeat 0 12px;
display: block;
height: 120px; /* adjust according your image size */
text-indent: -999em; /* this hides the text */
text-decoration:none; /* old firefox would have shown underline for the link, this explicitly hides it */
}
div#search {
float: right;
width: 27em; /* enough width for the search input box */
text-align: right;
padding: 0.6em 0 0.2em 0;
margin: 0 1em;
}
div.breadcrumbs {
padding: 1em 0 1.2em 0; /* CSS short hand rule first value is top then right, bottom and left */
font-size: 90%; /* its good to set fontsizes to be relative, this way viewer can change his/her fontsize */
margin: 0 1em; /* css shorthand rule will be opened to be "0 1em 0 1em" */
border-bottom: 1px dotted #000;
}
div.breadcrumbs span.lastitem {
font-weight:bold;
}
div#content {
margin: 1.5em auto 2em 0; /* some air above and under menu and content */
}
div#main {
margin-left: ''; /* this will give room for sidebar to be on the left side, make sure this space is bigger than sidebar width */
margin-right: ''; /* and some air on the right */
align: center;
}
div#sidebar {
float: left; /* set sidebar on the left side. Change to right to float it right instead. */
width: ''; /* sidebar width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
}
/* if sidebar doesnt include menu but content add class="hascontent" */
div#sidebar.hascontent {
padding: 0 1%;
width: ''; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#sidebar2 {
float: center; /* set sidebar2 on the right side. Change to right to float it right instead. */
width: ''; /* sidebar2 width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
vertical-align: text-top;
}
/* if sidebar2 doesnt include menu but content add class="hascontent" */
div#sidebar2.hascontent {
padding: 0 1%;
width: ''; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#sidebar3 {
float: right; /* set sidebar3 on the right side. Change to right to float it right instead. */
width: ''; /* sidebar3 width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
margin-right: '';
vertical-align:text-top;
}
/* if sidebar3 doesnt include menu but content add class="hascontent" */
div#sidebar3.hascontent {
padding: 0 1%;
width: ''; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#sidebar4 {
float: left; /* set sidebar4 on the right side. Change to right to float it right instead. */
width: ''; /* sidebar4 width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
vertical-align:text-top;
}
/* if sidebar4 doesnt include menu but content add class="hascontent" */
div#sidebar4.hascontent {
padding: 0 1%;
width: ''; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#sidebar5 {
float: center; /* set sidebar5 on the right side. Change to right to float it right instead. */
width: ''; /* sidebar5 width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
vertical-align:text-top;
}
/* if sidebar5 doesnt include menu but content add class="hascontent" */
div#sidebar5.hascontent {
padding: 0 1%;
width: ''; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#sidebar6 {
float: right; /* set sidebar6 on the right side. Change to right to float it right instead. */
width: ''; /* sidebar6 width, if you change this please also change #main margins */
display: inline; /* FIX ie doublemargin bug */
margin-left: 0;
vertical-align:text-top;
}
/* if sidebar6 doesnt include menu but content add class="hascontent" */
div#sidebar6.hascontent {
padding: 0 1%;
width: ''%; /* make width smaller if there's padding, or it will get too wide for the floated divs in IE */
}
div#footer {
clear:both; /* keep footer below content and menu */
color: #fff;
background-color: #000000; /* same bg color as in header */
}
div#footer p {
font-size: 0.8em;
padding: 1.5em; /* some air for footer */
text-align: center; /* centered text */
margin:0;
}
div#footer p a {
color: #fff; /* needed becouse footer link would be same color as background otherwise */
}
/* relational links under content */
div.left49 {
float: left;
width: 49%; /* 50% for both left and right might lead to rounding error on some browser */
}
div.right49 {
float: right;
width: 49%;
text-align: right;
}
/********************
CONTENT STYLING
*********************/
div#content {
}
/* HEADINGS */
div#content h1 {
font-size: 2em; /* font size for h1 */
line-height: 1em;
margin: 0;
}
div#content h2 {
color: #000000;
font-size: 1.5em;
text-align: left;
/* some air around the text */
padding-left: 0.5em;
padding-bottom: 1px;
/* set borders around header */
border-bottom: 1px solid #f47920;
border-left: 1.1em solid #f47920;
line-height: 1.5em;
/* and some air under the border */
margin: 0 0 0.5em 0;
}
div#content h3 {
color: #000000;
font-size: 1.3em;
line-height: 1.3em;
margin: 0 0 0.5em 0;
}
div#content h4 {
color: #fff;
font-size: 1.2em;
line-height: 1.3em;
margin: 0 0 0.25em 0;
}
div#content h5 {
font-size: 1.1em;
line-height: 1.3em;
margin: 0 0 0.25em 0;
}
h6 {
font-size: 1em;
line-height: 1.3em;
margin: 0 0 0.25em 0;
}
/* END HEADINGS */
/* TEXT */
p {
font-size: 1em;
margin: 0 0 1.5em 0; /* some air around p elements */
line-height:1.4em;
padding: 0;
}
blockquote {
border-left: 10px solid #ddd;
margin-left: 10px;
}
pre {
font-family: monospace;
font-size: 1.0em;
}
strong, b {
/* explicit setting for these */
font-weight: bold;
}
em, i {
/* explicit setting for these */
font-style:italic;
}
/* Wrapping text in tags. Makes CSS not validate */
code, pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
font-family: "Courier New", Courier, monospace;
font-size: 1em;
}
pre {
border: 1px solid #000; /* black border for pre blocks */
background-color: #ddd;
margin: 0 1em 1em 1em;
padding: 0.5em;
line-height: 1.5em;
font-size: 90%; /* smaller font size, as these are usually not so important data */
}
/* END TEXT */
/* LISTS */
div#main ul,
div#main ol,
div#main dl {
font-size: 1.0em;
line-height:1.4em;
margin: 0 0 1.5em 0;
}
div#main ul li,
div#main ol li {
margin: 0 0 0.25em 3em;
}
div#dl dt {
font-weight: bold;
margin: 0 0 0.25em 3em;
}
div#dl dd {
margin: 0 0 0 3em;
}
/* END LISTS */
How to turn 2 column template into 3 column?
Re: How to turn 2 column template into 3 column?
I would have to see this live to tell you...
Link?...
Link?...
Re: How to turn 2 column template into 3 column?
hi,
I always use template "Left simple navigation + 1 column" and the Stylesheet that belongs to it.
Then I change the margins right and left from "class=back" to 250 or 300 pix depending on what you need.
The middle I leave a floating width.
After that I make a div for the right column that I treat like div for the left sidebar.
Actually that is all there is to it.
Have a look at http://cms.successful-doing.at or at http://www.atom.at
both have been made like this. Use Firebug to analyse it.
Make it fit to your site.
Regards,
Jan
I always use template "Left simple navigation + 1 column" and the Stylesheet that belongs to it.
Then I change the margins right and left from "class=back" to 250 or 300 pix depending on what you need.
The middle I leave a floating width.
After that I make a div for the right column that I treat like div for the left sidebar.
Actually that is all there is to it.
Have a look at http://cms.successful-doing.at or at http://www.atom.at
both have been made like this. Use Firebug to analyse it.
Make it fit to your site.
Regards,
Jan


