|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Announcements
Want a new Job?
Chapters
Services
Feature Zones
|
IntroductionLast week, I learned a technique of applying a hover effect to an HTML table’s rows with the help of pure CSS, without using a single line of JavaScript The GridView HTML CodeThe HTML code for the <asp:GridView ID="gvHover" BackColor="WhiteSmoke" runat="server" AutoGenerateColumns="False"
GridLines="Vertical" CssClass="grid-view" OnRowCreated="gvHover_RowCreated">
<Columns>
<asp:BoundField HeaderText="n" DataField="n">
<HeaderStyle Width="25px" />
<ItemStyle Width="25px" />
</asp:BoundField>
<asp:BoundField HeaderText="sqrt(n)" DataField="sqrtn">
<HeaderStyle Width="150px" />
<ItemStyle Width="150px" />
</asp:BoundField>
<asp:BoundField HeaderText="qbrt(n)" DataField="qbrtn">
<HeaderStyle Width="150px" />
<ItemStyle Width="150px" />
</asp:BoundField>
</Columns>
</asp:GridView>
Styling the GridViewIn order to style the <asp:GridView ... CssClass="grid-view" ... > ... </asp:GridView>
Styling the GridView’s Header Row, Normal Row, and Alternate RowIn order to style the //Add CSS class on header row.
if (e.Row.RowType == DataControlRowType.Header)
e.Row.CssClass = "header";
//Add CSS class on normal row.
if (e.Row.RowType == DataControlRowType.DataRow &&
e.Row.RowState == DataControlRowState.Normal)
e.Row.CssClass = "normal";
//Add CSS class on alternate row.
if (e.Row.RowType == DataControlRowType.DataRow &&
e.Row.RowState == DataControlRowState.Alternate)
e.Row.CssClass = "alternate";
The CSS ClassesBelow are the CSS classes that have been used above to style the .grid-view
{
padding: 0;
margin: 0;
border: 1px solid #333;
font-family: "Verdana, Arial, Helvetica, sans-serif, Trebuchet MS";
font-size: 0.9em;
}
.grid-view tr.header
{
color: white;
background-color: #FF5600;
height: 25px;
vertical-align: middle;
text-align: center;
font-weight: bold;
}
.grid-view tr.normal
{
color: black;
background-color: #FDC64E;
height: 25px;
vertical-align: middle;
text-align: center;
}
.grid-view tr.alternate
{
color: black;
background-color: #D59200;
height: 25px;
vertical-align: middle;
text-align: center;
}
Adding a Hover Effect to the GridView rowsFinally, to apply the hover effect to the .grid-view tr.normal:hover, .grid-view tr.alternate:hover
{
background-color: white;
color: black;
font-weight: bold;
}
Note that the hover effect has been applied to the normal and alternate rows only, not on the header row. You can also use different color schemes for the normal and alternate rows separately, for the hover effect. Using the CSS ClassesPut all the corresponding CSS classes in a stylesheet and give its reference on the web page’s <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
ConclusionThat’s all about this technique. Just download the sample application and happy CSS! I have tested this application on various browsers and it worked fine. Below is the list of those browsers:
|
||||||||||||||||||||||