A style that will make the entire cell "clickable" in a Menu

Here's a quick tip for the Menu control.  I'm pretty sure there were some good reasons why this wasn't the default but I just can't think of them at the moment. [EDIT: I just remembered one of them, this won't work perfectly with ItemSpacing...]

If you want to make the entire cell clickable (and not just the text), try using a style "display:block; width:100%".  You'll only want to apply this to the <A> inside the cells. 

Here's an example:

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="https://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
        .smis a { width:100%; display:block; }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu ID="Menu1" runat="server" BackColor="Green" Width="200px">
            <Items>
                <asp:MenuItem Text="ItemA" Value="A"></asp:MenuItem>
                <asp:MenuItem Text="ItemB" Value="B"></asp:MenuItem>
            </Items>
            <StaticHoverStyle BackColor="#FF8080" />
            <StaticMenuItemStyle CssClass="smis" />
        </asp:Menu>
    
    </div>
    </form>
</body>
</html>

 

(ps. Thanks to Pete for helping me figure this out)

Comments

  • Anonymous
    April 29, 2006
    Is this possible with a treeview control? I'd like to get a highlight/click feature working for all the children of a parent node but there's always a small space on the left of the LeafNode that I can't get rid of
  • Anonymous
    April 29, 2006
    Thanks Danny - this works perfectly.
  • Anonymous
    May 01, 2006
    ON:
     I don't think so.  As I said in this post, the does not work in every situation.  This only makes the link (with it's hover style) expand to the size of it's encapsulating container (a <TD>).  If the area you want to hover/click consists of more than a single TD, you're out of luck.  In the case of the TreeView, you're running into the border between TDs.  
    --
    Danny
     
  • Anonymous
    November 10, 2008
    You are voted (great) - Trackback from Web Development Community