【问题标题】:How can I make png image act as a button?如何使 png 图像充当按钮?
【发布时间】:2016-06-20 16:44:49
【问题描述】:

我是第一次使用 Dreamweaver 进行编码。我是 HTML 中级。

我一直在尝试使用 png 文件作为按钮。我发现一些消息来源表明...

<button src=Home_button> </button>    

... 会起作用,但我已经尝试过了,但无济于事,它不起作用。有什么建议吗?


注意:

我也在使用 CSS 来构建这个非常基本的网站。

【问题讨论】:

标签: javascript html css image button


【解决方案1】:

只需将background-image 添加到您的按钮即可。

<button id="home_button">click me</button>

然后添加:

#home_button {
  background-image: url(...);
}

当然,您可能需要为其添加更多样式,例如宽度和其他背景属性以使其恰到好处。但这就是您向按钮添加背景图像的方式。

这也是一个工作演示:

#home_button {
  width: 150px;
  height: 150px;
  background-image: url('http://i.stack.imgur.com/sfed8.png');
  background-size: cover;
  background-color: #eee;
  }
&lt;button id="home_button"&gt;&lt;/button&gt;

【讨论】:

  • 我更喜欢这个,而不是简单地将&lt;img&gt;标签包装在&lt;a&gt;标签内的纯HTML解决方案。如果您希望图片在示例中更改;悬停按钮时,可以通过修改CSS中的background-image属性来实现。
  • @ProDexorite,同意。 background 的所有属性都具有很大的灵活性,而使用常规 img 则无法轻松获得。
  • 太棒了!多谢你们!因此,要链接它,我会使用 "href="?
  • 所以'href=' 可以完成将其链接到.png 的工作吗?对不起
  • 您希望它使用图像作为按钮的背景,同时在用户按下按钮时链接到背景?
【解决方案2】:

您可以在button 标签内添加img 标签。

&lt;button id="bar" type="submit"&gt;&lt;img src="http://cdn.sstatic.net/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a" /&gt;&lt;/button&gt;

【讨论】:

    【解决方案3】:

    有很多方法可以创建看起来像图像并且行为像按钮的东西。

    以下是代码示例,展示了值得考虑的 5 个选项...


    选项 1:

    您可以将&lt;img&gt; 元素放在&lt;button&gt; 元素中:

    document.getElementById("myButton").addEventListener("click", function() {
        alert('Button clicked');
    });
    button, img {
        padding: 0;
        font-size: 0;
        border: none;
    }
    <button id="myButton">
        <img src="http://www.gravatar.com/avatar/bf4cc94221382810233575862875e687?s=150" alt="">
    </button>

    (另见this Fiddle


    选项 2:

    您可以使用&lt;a&gt;-tag 代替:

    document.getElementById("myButton").addEventListener("click", function() {
        alert('Button clicked');
    });
    a {
        border: none;
        display: inline-block;
        font-size: 0;
    }
    <a id="myButton" href="#">
        <img src="http://www.gravatar.com/avatar/bf4cc94221382810233575862875e687?s=150" alt="">
    </a>

    (另见this Fiddle


    选项 3:

    您可以直接将点击处理程序附加到您的图像:

    document.getElementById("myButton").addEventListener("click", function() {
        alert('Button clicked');
    });
    &lt;img id="myButton" src="http://www.gravatar.com/avatar/bf4cc94221382810233575862875e687?s=150" alt=""&gt;

    (另见this Fiddle


    选项 4:

    您可以将图像设置为 &lt;button&gt;-tag 或其他代表按钮的标记的背景图像。

    document.getElementById("myButton").addEventListener("click", function() {
        alert('Button clicked');
    });
    input[type=submit] {
        background: url("http://www.gravatar.com/avatar/bf4cc94221382810233575862875e687?s=150");
        width: 150px;
        height: 150px;
        border: none;
    }
    &lt;input type="submit" id="myButton"&gt;

    (另见this Fiddle


    选项 5:

    您可以将图像设置为 &lt;a&gt;-tag、&lt;div&gt;-tag 或其他不代表按钮的标签的背景图像:

    document.getElementById("myButton").addEventListener("click", function() {
        alert('Button clicked');
    });
    div {
        background: url("http://www.gravatar.com/avatar/bf4cc94221382810233575862875e687?s=150");
        width: 150px;
        height: 150px;
        border: none;
    }
    &lt;div id="myButton"&gt;&lt;/div&gt;

    (另见this Fiddle

    【讨论】:

      【解决方案4】:

      你可以通过&lt;a href="#"&gt;&lt;img src="#" alt="" /&gt;&lt;/a&gt; 来实现你想要的。

      【讨论】:

        【解决方案5】:

        有几种方法可以将图像用作按钮..

            <a href="your_link.html">
              <img id="mypic' src="path_to_your.png" alt="MyImage" width="200" height="300" />
            </a>
        css..
        #mypic {
            background: #390239;
            color:#7e4a00;
            border:#7e4a00 2px solid;
            border-color:;
            outline:none;
            padding: 6px;
            border-radius:5px;
            text-align: center;
        }
        

        Chris 也有一个很好的答案...这取决于页面上看起来不错的内容,以及您的编码知识。

        【讨论】:

          【解决方案6】:

          这是你可以做的......

          HTML

          <button>Click Me</button>
          

          CSS

          button {
            display: inline-block;
            height: 50px // height of your button image
            text-indent: -9999px // hide if you have text inside <button>
            width: 100px // width of your button image
          }
          

          希望这会有所帮助:)

          【讨论】:

          • 这个按钮中应该使用的图像到底在哪里?这根本不能真正回答问题。
          • 抱歉,忘记添加背景:url(image.png); :)
          猜你喜欢
          • 1970-01-01
          • 2021-05-09
          • 2021-06-01
          • 2019-07-29
          • 1970-01-01
          • 2019-04-02
          • 1970-01-01
          • 1970-01-01
          • 2014-10-08
          相关资源
          最近更新 更多