Start learning with our library of video tutorials taught by experts. Get started
Viewed by members. in countries. members currently watching.
Joomla! 1.5: Styling with CSS shows how those familiar with Joomla! and with hand-coded HTML and CSS can take the next step in creating a dynamic website with a unique look and feel. Jen Kramer McKibben goes deep into the functionality of this open-source content management system, exploring topics like putting more style into modules, editing CSS on the fly using the Firefox Web Developer toolbar, creating horizontal and vertical menu layouts, and including images in those menus. Exercise files accompany the course.
We are looking at our website, inside the Products section in the Product Sampler page. This is a multipage Joomla! article and Joomla! does some wonderful things here for us. In our multipage article it gives us an Article Index, which allows us to skip around within the article and follows the Next button at the bottom. I can navigate between the pages here in the Article Index and either using the Next button at the bottom of the page or using the links up here at the top.
You can set up a multipage article inside the Article Manager in the backend of Joomla!. Go to Content > Article Manager, then scroll to the article in question. You can put in your content just like any other article. It is, in fact, a single article. But you are going to break it into pieces using the Pagebreak button. Simply, click where you want the page break to happen and then click the Pagebreak button, and the page break will be inserted.
Obviously though, this page needs a bit of styling. What we would like to do is to take this Article Index and put it in the box floated over to the right, so that we have a little index on the right of this page rather than stretching across the top. I would also like to take out that Page 1 of 7 that you see there on the screen. I don't feel like it adds anything to this particular page. So let's start by looking at the HTML that makes up this webpage. I am going to go to View Source and I am going to go down to the content area of this webpage. What you will see is we have our div with an id of content, followed by a breadcrumb. Then we have another table with a class of a contentpaneopen. Inside of that we have another table that has a class of a contenttoc or table of contents.
Article Index is inside of a th or Table Heading. Then we have a series of cells with a link to the various areas inside of the article. We have a div around the Page 1 of 7 with the class of pagenavcounter. That will be handy for getting rid of 7 later on. Then we have the actual content for the webpage. Based on this HTML, let's write some styles to make this page a little prettier. So I am going to edit my CSS, go to the default.css, and I am going to scroll down into my content styles. In here what I am willing to do is first work on the table of contents. So I am going to start with table.contenttoc.
We will start by giving this a width of 120 pixels and nice narrow column and then I would like to float it to the right. This will wrap the text around it and we will have a little box floating on the right hand side of the page. Let's also gives this a background color to set it off from the rest of the page, and that shows in a5bfc2.
Now I am going to give it a little bit of margin so that the text doesn't smash right out up the side of this box. So I am going to give it 2 ems on the top to push it down a little bit; 0 on the right, 0.5 em on the left and 0.5 em on the bottom. Finally, I think I will warp border around this again just to set her off a little bit more from the rest of the webpage. How about 3b7276? Now we have our text all smashed up the edges of this box and our Article Index header doesn't quite fit with the rest of that box either. So let's work on some styling for that.
First of all, as we saw in the code, the Article Index text is in a th or Table Heading, whereas each one of these individual links is in the td or Table Data. I would like to have the same padding for both the th and the td, so everything matches up nicely and the alignment will look a lot more professional. So I am going to write a style for that, table.contenttoc th, and content table.contecttoc td. I am going to assign this a padding, a 4 pixels on the top and the bottom and 8 pixels right and left. Now I am going to give the th, the Table Header some styles of its own, so content table.contenttoc th.
First of all, I would like the text to align left, the th center is by default. I would like to also make the color white and I would like to make the font-weight normal. Then I am going to once again transform the font to Tahoma again because it's a slightly narrower font than Arial and it also likes to capitalize it. So let's change the font-family to Tahoma with some alternatives and let's make all the letters uppercase. This will echo some other styles we have in other locations on the website. Now the links that are making up the navigation within this article look a little bit big to me. The main emphasis of this webpage is the content not the Article Index. So I would like to make that text a little bit smaller overall. So let's make those styles. Put those styles in place. So I am going to set my font-size to 0.85 em.
Now I would like to restyle those links. I think it's pretty hard to read a list of links that are white with those underlines; they are all sort of run together somehow. Let's modify that now. So we will make a version for as unvisited state as well as the visited state. So first of all, let's turn off that text-decoration, the underline, and let's change the color just something- maybe that darker teal. Let's give this a hover state, so that as you hover over these links, it's pretty clear that you can click them.
So we are going to make an a:hover and let's turn back on the underline when you hover over these links and let's change the color as well back to white. So now if I hover these links, you can see each one sets up very nicely from its neighbors. And finally, I have mentioned this Page 1 of 7 was really bugging me because I don't really feel like that adds any value to this webpage and I just like to turn it off. Fortunately, Page 1 of 7 is in its own div so we can just set its display to none.
So div.pagenavcounter and we are going to set display to none to get rid of it on this webpage. Now this is looking so much better. Let's go ahead and copy all of the changes that we have made and put them into our Joomla! template, Ctrl+A or Command+A, Ctrl+C or Command+C. We are going to go to our Template Manager under Extensions. We are going to go to the inside template, Edit, Edit CSS, default.css, Edit and I am going to Ctrl+A or Command+A, Ctrl+V or Command+ V and Save. Now when I go back to the front-end of the website and Refresh. That's really a big improvement to this webpage.
Multipage articles are handy inside of Joomla! for particularly long articles that seems to align themselves to a table of contents. The Table of Contents allows your clients to skip around to sections of interest while skipping longer sections without having very, very long pages on the website. There is always an option for All Pages displayed on a single page at the bottom of each Article Index. Now that you know that you can style these article indices to make your page much more attractive than the default installation, maybe you will find some use for these on your own Joomla! websites.
Find answers to the most frequently asked questions about Joomla! 1.5: Styling with CSS.
Here are the FAQs that matched your search "":
Sorry, there are no matches for your search ""—to search again, type in another word or phrase and click search.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.