Style Sheets
  Home arrow Style Sheets arrow Page 3 - Using PNG Images to Build Background Effec...
Dev Articles Forums 
ADO.NET  
Apache  
ASP  
ASP.NET  
C#  
C++  
ColdFusion  
COM/COM+  
Delphi-Kylix  
Design Usability  
Development Cycles  
DHTML  
Embedded Tools  
Flash  
Graphic Design  
HTML  
IIS  
Interviews  
Java  
JavaScript  
MySQL  
Oracle  
Photoshop  
PHP  
Reviews  
Ruby-on-Rails  
SQL  
SQL Server  
Style Sheets  
VB.Net  
Visual Basic  
Web Authoring  
Web Services  
Web Standards  
XML  
Dedicated Servers  
Moblin 
JMSL Numerical Library 
IBM® developerWorks 
Sun Developer Network 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
STYLE SHEETS

Using PNG Images to Build Background Effects
By: Alejandro Gervasio
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 3 stars3 stars3 stars3 stars3 stars / 5
    2008-05-13

    Table of Contents:
  • Using PNG Images to Build Background Effects
  • Building background gradients using a simple JPG image
  • Building a basic background gradient using a GIF image
  • Building a fancy web page background with a PNG graphic: introduction

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    Using PNG Images to Build Background Effects - Building a basic background gradient using a GIF image


    (Page 3 of 4 )

    As I stated in the section that you just read, constructing a smooth background gradient using a small GIF image requires practically the same techniques that I used previously when utilizing a JPG graphic. In this case, I’m going to use the sample web page that you saw earlier to demonstrate how this gradient can be built with minor hassles.

    Having explained my approach, please have a close look at the below (X)HTML file, which performs this task in a few simple steps:


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <title>Sample web page with GIF-based background</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <style type="text/css">

    body{

    padding: 0;

    margin: 0;

    background: #fff url(bg.gif) left top repeat-x;

    }

    h1{

    padding: 5px;

    margin: 0;

    font: bold 12px Arial, Helvetica, sans-serif;

    color: #000;

    }

    h2{

    padding: 7px 5px 8px 5px;

    margin: 0;

    background: #fc0;

    font: bold 12px Arial, Helvetica, sans-serif;

    color: #000;

    }

    p{

    font: normal 12px Arial, Helvetica, sans-serif;

    color: #000;

    }

    #header{

    width: 780px;

    padding: 10px;

    margin-left: auto;

    margin-right: auto;

    background: #fc0;

    }

    #navbar{

    width: 780px;

    padding: 10px;

    margin-left: auto;

    margin-right: auto;

    background: #ffc;

    }

    #navbar ul{

    list-style: none;

    }

    #navbar li{

    display: inline;

    padding-right: 4%;

    }

    #navbar a:link,#navbar a:visited{

    font: normal 12px Arial, Helvetica, sans-serif;

    color: #039;

    text-decoration: none;

    }

    #navbar a:hover{

    text-decoration: underline;

    }

    #mainwrapper{

    clear: both;

    width: 800px;

    height: 100%;

    margin-left: auto;

    margin-right: auto;

    overflow: hidden;

    background: #fff;

    }

    #mainwrapper .leftcol{

    position: relative;

    float: left;

    }

    #mainwrapper .rightcol{

    position: relative;

    float: right;

    }

    #leftbar{

    width: 180px;

    padding: 10px;

    }

    #centerbar{

    float: left;

    width: 380px;

    padding: 10px;

    background: #fff;

    }

    #rightbar{

    width: 180px;

    padding: 10px;

    }

    #footer{

    clear: both;

    width: 780px;

    padding: 10px;

    margin-left: auto;

    margin-right: auto;

    background: #fc0;

    }

    .contbox{

    padding: 10px;

    margin-bottom: 10px;

    background: #eee;

    border: 1px solid #ccc;

    }

    </style>

    </head>

    <body>

    <div id="header">

    <h1>This is the header section of the web page</h1>

    <p>Contents for header section go here. Contents for header section go here. Contents for header section go here. Contents for header section go here.</p>

    </div>

    <div id="navbar">

    <h1>This is the navigation bar of the web page</h1>

    <ul>

    <li><a href="#">Link 1</a></li>

    <li><a href="#">Link 2</a></li>

    <li><a href="#">Link 3</a></li>

    <li><a href="#">Link 4</a></li>

    <li><a href="#">Link 5</a></li>

    <li><a href="#">Link 6</a></li>

    </ul>

    </div>

    <div id="mainwrapper">

    <div id="leftbar" class="leftcol">

    <h2>Section title</h2>

    <div class="contbox">

    <p>Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here.</p>

    </div>

    <h2>Section title</h2>

    <div class="contbox">

    <p>Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here.</p>

    </div>

    </div>

    <div id="centerbar" class="leftcol">

    <h2>Section title</h2>

    <div class="contbox">

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    </div>

    </div>

    <div id="rightbar" class="rightcol">

    <h2>Section title</h2>

    <div class="contbox">

    <p>Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here.</p>

    </div>

    <h2>Section title</h2>

    <div class="contbox">

    <p>Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here.</p>

    </div>

    </div>

    </div>

    <div id="footer">

    <h1>This is the footer section of the web page</h1>

    <p>Contents for footer section go here. Contents for footer section go here. Contents for footer section go here. Contents for footer section go here. Contents for footer section go here.</p>

    </div>

    </body>

    </html> 


    If you take the time to study the CSS styles attached to the previous web document, you’ll see that there is a declaration that incorporates a “bg.gif” GIF image into the corresponding “body” selector. In this way it constructs a gray background that’s tiled across the X coordinate of the document.

    Of course, if you're used to building web sites, this process must be extremely familiar to you. So let me show you how the gradient looks with the following screen shot:



    All right, I taught you two traditional approaches for building a faded gradient using both JPG and GIF images. However, suppose for a moment that you wish to achieve the same effect on your web pages with a PNG graphic that starts with a smooth gray color and fades progressively to transparency (remember this characteristic is called alpha-based transparency).

    In this case, the gradient in question could be created by specifying the aforementioned PNG as a background image, along with a solid color. Simple, isn’t it?

    Naturally, the biggest issue to address here is the lack of native support from IE 6 for transparent PNG images. However, as I expressed in the introduction of this article, it’s possible to implement a simple CSS workaround that will allow you to build the same gray-colored gradient that you saw in the previous hands-on examples using a tiny, partially-transparent PNG graphic.

    Actually, I’m getting ahead of myself, so please read the following section, where I’ll show you how to build the web page background for non IE-based browsers.

    More Style Sheets Articles
    More By Alejandro Gervasio


       · PNG images can be used to build light-weight background effects, even when Internet...
     

    STYLE SHEETS ARTICLES

    - Creating Three-Column Web Page Layous with N...
    - Swapping Column Positions in Web Page Layout...
    - Creating Web Page Layouts with Negative Marg...
    - Creating Gradients for Individual Containers...
    - Creating Gradients for Web Page Headers with...
    - SEO Scrolling Frames Problem Solved
    - Building Cross-Browser Background Effects wi...
    - CSS: Pseudo
    - Using PNG Images to Build Background Effects
    - CSS: Continuing the Clarification of CSS Cla...
    - CSS: Top Secret Classification
    - CSS: Dimensions
    - CSS: Margins and Padding
    - CSS: Crossing the Border
    - CSS: Text, Fonts, and Tables







    © 2003-2008 by Developer Shed. All rights reserved. DS Cluster 5 hosted by Hostway