I've been following Matt Berseth's .NET Developer's Blog and he has some great stuff on here. The example below is from his post on Building a VS2008 Styled Grid with the GridView Control. I've made simpler variation of his here.
First the style sheet where all of the real magic happens:
body
{
background-color: Aliceblue;
font-family:Tahoma;
font-size: 12px;
}
.grid
{
width:90%;
font-family:Tahoma;
display: block;
margin-left: auto;
margin-right: auto
}
.director
{
color: Green;
}
.grid .datatable
{
width:100%;
color:#666;
}
.grid .datatable TH
{
font-size:12px;
font-weight:bold;
letter-spacing:0px;
text-align:left;
padding:2px 4px;
color:#333333;
border-bottom:solid 2px #bbd9ee;
}
.grid .datatable TH A
{
text-decoration:none;
padding-right:18px;
color:#0066cc;
}
.grid .datatable .row TD
{
font-size:11px;
text-align:left;
padding:6px 4px;
border-bottom:solid 1px #bbd9ee;
}
.grid .datatable .row:hover
{
background-color:#fffacd;
color:#000;
}
.grid .datatable .row TD.first { padding-left:10px; }
.grid .datatable TH.first { padding-left:10px; }
.grid .datatable .row:hover .first
{
background-repeat:no-repeat;
background-image:url(../img/bullet.gif);
}
Then the .aspx page itself
<form id="form1" runat="server">
<div>
<asp:SqlDataSource
id="srcMovies"
ConnectionString='<%$ ConnectionStrings:MyDatabase %>'
SelectCommand="SELECT Title, Director FROM Movies ORDER BY Title"
Runat="server" />
<div class="grid">
<asp:GridView ID="GridView1" runat="server" BorderStyle="None" DataSourceID="srcMovies" HorizontalAlign="Center"
CssClass="datatable" AutoGenerateColumns="false" BorderWidth="1px" BackColor="White" GridLines="Horizontal">
<RowStyle CssClass="row" />
<Columns>
<asp:BoundField DataField="Title" HeaderText="Title" ItemStyle-CssClass="first" />
<asp:BoundField DataField="Director" HeaderText="Director" ItemStyle-CssClass="director" />
</Columns>
</asp:GridView>
</div>
</div>
</form>