CSS Tutorial: Captioned Images

In todays Web2.0 world, images are as vital to a good Website as the content itself. But how do you take a regular image and turn it into something “more”? A great way to use images within your content is to make them captioned, giving the reader not just the visual, but also a short text description.

In this article I hope to show you the basics of adding captioned images to your Website, including these CSS styling attributes; float, border, margin, padding, and background.

Note: In this example I am going to be using CSS styling in the content directly. If you are familiar with <style> tags or the use of CSS files please feel free to use them accordingly.

Step 1: Image inside a DIV

The key to creating a captioned image is to wrap your image inside a DIV tag. The DIV is used to hold the image and also to align and style the captioned area.

The basic code is as follows:

<div>
<img src=”http://www.succeed2k.com/pics/ds.jpg”>
</div>

This would not look any different than just dropping an image on your page, so you need to add the necessary styling.

Step 2: Style the DIV

To make this image look right, you need add styling to the DIV. In this example we’re needing to make sure the image is aligned to the right of the page, so we need to use the “float: right” command. We also want to add a small frame around the image and caption. Changes to the code are in red.

<div style=”float: right; border: thin solid silver; text-align: center; margin: 2px; padding: 5px;”>
<img src=”http://www.succeed2k.com/pics/ds.jpg”>
</div>

As you can see, the result is the image surrounded by the silver frame.

Step 3: Add the caption

Dallas Stars Logo

Now we just need to add the caption to the image. We’re going to use a styled paragraph <p> tag to do this and will have our text centered and in italics.

<div style=”float: right; border: thin solid silver; text-align: center; margin: 2px; padding: 5px;”>
<img src=”http://www.succeed2k.com/pics/ds.jpg”>
<p style=”text-align: center; font-style: italic; font-size: smaller; text-indent: 0;”>Dallas Stars Logo</p>

</div>

By adding the text, we have extended the frame and created the captioned image look

Step 4: Advanced Styling

Dallas Stars Logo

One last small step that you can do to make your captioned image look even better is to add a background colour to the text part of the caption. This can really enhance the look and feel of the caption and is great for making the text stand our from the rest of the page. To do this, you could either add a 2nd DIV and wrap the <p> text part inside it, or as I am doing below, simply use a styled DIV instead of the <p>.

<div style=”float: right; border: thin solid silver; text-align: center; margin: 2px; padding: 5px;”>
<img src=”http://www.succeed2k.com/pics/ds.jpg”>
<div style=”border: thin solid silver; background: #ffffcc; padding: 2px; text-align: center; font-style: italic; font-size: smaller; text-indent: 0;”>Dallas Stars Logo</div>

</div>

The wonderful thing about styling a captioned image is that you can make it do virtually anything you want. If you wanted the caption at the top of the image rather than the bottom you would simply take that 2nd DIV section and put it at the top above the image code. Want a different background, simply change the code. Need the whole thing left aligned instead of right? Simple, just change float: right to float: left in the main DIV.

Likewhys, if you wanted to use an object rather than an image, you could do that using the same technique as listed above. Try creating a captioned, right aligned YouTube video and see how it works. Just replace the image code with your YoutTube video embed link.

Lastly, don’t forget to have fun while trying new designs.

If you’re wanting to learn more, we strongly recommend the Web Design Mastery Course.

Web Design Mastery is a complete Internet Marketers Reference Guide. Not only will you learn how to design a professional website, but you’ll also learn in the easiest possible fashion.

It is a fantastic product that will teach you all you need to know about Web Design.

Share This:

DIV Tags: 2 Column Template Tutorial

Yesterday I posted an article introducing some really handy DIV tag style features. Today I wanted to take that a step further and use those styles to build a very simple website frame.

The frame we’re going to build is going to have a 5 DIVs initially, with more added at the end to style the frame. I am going to build a fixed width template set to 480px wide, centered with a 1 pixel black border.

The key DIV styles that we will be using in this example are:

  • Float
  • Border
  • Padding
  • Margin
  • Background
  • Width
  • Height

Step 1: The Header

There are a few different ways you can build a basic site template. I personally like to start with logic, which in this case is the top. So we want to code in the header, keeping in mind that we need to include things like padding.

<div style=”width: 480px; height: 50px; border: 1px solid #000000; margin: 0pt auto;”>
</div>

The result:

Notice I also included a fixed height for the header of 50 pixels.

Step 2: The Container

Before we can add the main content and sidebar areas we need to add the container. This will be a DIV that is not viewable to the user in the end product (in this example), however I am going to make it viewable now and then remove it at the end so you can see the result/purpose. I have put the newly added code in red.

<div style=”width: 480px; height: 50px; border: 1px solid #000000; margin: 0pt auto;”>
</div>
<div style=”width: 480px; border: 1px solid #000000; margin: 2px auto;”>
</div>

The result:

You’ll notice that I changed the margin for this new DIV. By adding the 2px before and after the “auto” it added a 2 pixel gap between the container and the header. I also did not include any “height” styling, which has resulted in the DIV looking flat. This will change.

Step 3: The Main Content and Sidebar

Next we want to add the main content area and the sidebar to the frame. The code for these will go INSIDE the container DIV tags. I also added an extra DIV in there (hightlighted in blue) that closes off the 2 new DIVs and ensures when we load the footer that it loads without any overflow from the previous DIVs.

<div style=”width: 480px; height: 50px; border: 1px solid #000000; margin: 0pt auto;”>
</div>
<div style=”width: 480px; border: 1px solid #000000; margin: 2px auto;”>
<div style=”width: 376px; height: 100px; float: left; border: 1px solid #000000;”>
</div>
<div style=”width: 100px;
height: 100px; float: right; border: 1px solid #000000;”>
</div>

<div style=”clear: both;”></div>

</div>

The result:

As you can see, the structure is now starting to take shape.

Step 3: The Footer

The footer is much like the header, and is a basic DIV that loads underneath the current structure. One piece of extra code we need to add to the footer is the “clear” attribute, which tells the code to stop all the current tags and start from this location. By adding it to the footer, we’re able to ensure the main content and sidebars don’t flow over into the footer content. Previously I had this code in it’s own div. What we’re going to do is take the previously highlighted blue code and add that to the footer.

<div style=”width: 480px; height: 50px; border: 1px solid #000000; margin: 0pt auto;”>
</div>
<div style=”width: 480px; border: 1px solid #000000; margin: 2px auto 2px;”>
<div style=”width: 376px; height: 100px; float: left; border: 1px solid #000000;”>
</div>
<div style=”width: 100px; height: 100px; float: right; border: 1px solid #000000;”>
</div>
<div style=”clear: both;”>
</div>
</div>
<div style=”width: 480px; height: 25px; border: 1px solid #000000; margin: 2px auto;”>
</div>

The result:

Step 4: Final Styling

The site is taking shape. What we need to do now is add some extra styling. In particularly, we want to:

  • Remove the border from the container
  • Add 4 new DIVs to add padding (optional)
  • Colour the background of the Header (blue), sidebar (yellow) and footer (blue)
  • Adjust the width of the main content to allow spacing between it and the sidebar
  • Add basic text to highlight each area.

<div style=”background: #000066; width: 480px; height: 50px; border: 1px solid #000000; margin: 0pt auto;”>
<div style=”width: 460px; padding: 10px;”>
<strong>HEADER</strong>
</div>

</div>
<div style=”width: 480px; margin: 2px auto 2px;”>
<div style=”width: 373px; height: 100px; float: left; border: 1px solid #000000;”>
<div style=”width: 453px; padding: 10px;”>

<strong>MAIN CONTENT AREA</strong>
</div>
</div>
<div style=”background: #FFFF99; width: 100px; height: 100px; float: right; border: 1px solid #000000;”>
<div style=”width: 80px; padding: 10px;”>
<strong>SIDEBAR</strong>
</div>
</div>
<div style=”clear: both;”>
</div>
</div>
<div style=”background: #000066; width: 480px; height: 25px; border: 1px solid #000000; margin: 2px auto;”>
<div style=”width: 460px; padding: 10px;”>
<strong>FOOTER</strong>
</div>
</div>

The result:

HEADER

MAIN CONTENT AREA

SIDEBAR

FOOTER

There you have it. A relatively simple, straight foward template build 100% using CSS.

Next article I will cover bringing images into the DIV as backgrounds and adding basic content.

If you’re wanting to learn more, we strongly recommend the Web Design Mastery Course.

Web Design Mastery is a complete Internet Marketers Reference Guide. Not only will you learn how to design a professional website, but you’ll also learn in the easiest possible fashion.

It is a fantastic product that will teach you all you need to know about Web Design.

Share This: