【问题标题】:make a CSS HTML button制作一个 CSS HTML 按钮
【发布时间】:2011-05-07 08:09:09
【问题描述】:

我的 default.aspx 页面中有一个标准按钮。

<asp:Button ID="Search_Button" runat="server" Text="Search" 
                      onclick="Search_Button_Click" />

像这样,我的项目中有很多按钮。我想做的是让按钮看起来很漂亮,我知道它可以在 CSS 文件中完成,但我不知道该怎么做。

我有这个 CSS 代码,但它在锚点中,我不知道如何用我的 asp:Button 类实现该类。

a.button {
/* Sliding right image */
background: transparent url('button_right.png') no-repeat scroll top right; 
display: block;
 float: left;
     height: 32px; /* CHANGE THIS VALUE ACCORDING TO IMAGE HEIGHT */
 margin-right: 6px;
 padding-right: 20px; /* CHENGE THIS VALUE ACCORDING TO RIGHT IMAGE WIDTH */
 /* FONT PROPERTIES */
 text-decoration: none;
    color: #000000;
 font-family: Arial, Helvetica, sans-serif;
  font-size:12px;
  font-weight:bold;
   }
  a.button span {
  /* Background left image */ 
   background: transparent url('button_left.png') no-repeat; 
   display: block;
   line-height: 22px; /* CHANGE THIS VALUE ACCORDING TO BUTTONG HEIGHT */
    padding: 7px 0 5px 18px;
   } 
    a.button:hover span{
    text-decoration:underline;
         }

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: asp.net html css visual-studio button


    【解决方案1】:

    您发布的 CSS 将应用于锚元素。 ASP.NET 中的按钮不是锚点,它们是输入元素。

    你可以做一些事情来让你的按钮样式。

    最简单的方法是更改​​您发布的 CSS。不要将其应用于&lt;a&gt; 元素,而是将其应用于&lt;input type="submit"&gt;。这样做:

    input[type="submit"] 
    {
        /* Sliding right image */
        background: transparent url('button_right.png') no-repeat scroll top right; 
        display: block;
        float: left;
        height: 32px; /* CHANGE THIS VALUE ACCORDING TO IMAGE HEIGHT */
        margin-right: 6px;
        padding-right: 20px; /* CHENGE THIS VALUE ACCORDING TO RIGHT IMAGE WIDTH */
        /* FONT PROPERTIES */
        text-decoration: none;
        color: #000000;
        font-family: Arial, Helvetica, sans-serif;
        font-size:12px;
        font-weight:bold;
     }
     input[type="submit"]:hover
     {
        text-decoration:underline;
     }
    

    这会将样式应用于受您的 CSS 影响的所有按钮。请注意,您还有 a.button span 的样式,我不太确定您要做什么。如果您提供有关您想要设计的样式的更多详细信息,我们将能够为您提供帮助。我暂时把它删掉了。

    如果您想使用更具体的东西——例如,只为按钮设置样式,您也可以这样做。为此,您需要在 ASP 标记中添加一个 CSS 类,指定您要使用的 CSS 类:

    <asp:Button ID="Search_Button" runat="server" Text="Search" 
                          onclick="Search_Button_Click" CssClass="my-button" />
    

    然后,在您的 CSS 中,您将更改我在上面发布的规则。而不是input[type="submit"] 你会选择:

    input[type="submit"].my-button
    {
        //...
    }
    

    始终尝试在 CSS 中使用尽可能通用的规则。如果您网站中的所有按钮都看起来像这样,那么请使用第一个选项,这样您的 CSS 会更简单。

    【讨论】:

    • 您好,这很有帮助...我有一个问题,您编写的第一个 CSS 代码将如何应用于所有按钮?里面没有提到 Button...谢谢
    • 我有一个 style.css 样式表,其中放置了所有样式。只是想让你知道..
    • 这是因为标记
    • 您只是得到一个正常的按钮还是根本没有显示按钮?您选择了哪种解决方案,第一个还是第二个?我建议不要一次放置所有样式,而是从 CSS 代码中的一种样式开始,然后在可行时添加其余样式。如果您似乎无法弄清楚,请使用诸如 firebug(在 firefox 中)之类的工具来帮助您。 getfirebug.com
    • 我会在你已经拥有的代码周围放置一个跨度: 然后在你的 css 中放置span.mySpan{...} 使用您在该博客文章中找到的代码,它应该可以工作。
    【解决方案2】:

    如果 asp:Button 呈现为 HTML-input-元素,请在 css 中的任何位置使用 input#Search_Button 而不是 a.button……如果 asp:Button 呈现为 HTML-button-元素, 使用button#Search_Button 而不是a.button

    …顺便说一句:如果可能的话,向您的 asp:Button 添加一个类以使用 css 声明而不是 id

    【讨论】:

    • ASP.NET 不保证 ID 将保持不变,因此使用 input#Search_Button 是个坏主意。如果他想专门设计该按钮的样式,他必须使用 CssClass。
    猜你喜欢
    • 2021-08-22
    • 2014-05-05
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    相关资源
    最近更新 更多