如何让我的<input type =“submit”/>一张图片?

时间:2012-10-13 18:46:42

标签: css types input submit

我有一个漂亮的小CSS图像需要是一个按钮。我尝试了大约20种不同的方法,但都没有。我只是得到一个空白的东西或一个内部没有任何东西的边框。

html:http://lrroberts0122.github.com/DWS/lab6/level-2/

图片:http://lrroberts0122.github.com/DWS/lab6/level-2/images/button.png

CSS:http://lrroberts0122.github.com/DWS/lab6/level-2/css/main.css

由于某些原因,我无法将其更改为“提交”,因此我需要弄清楚如何使用CSS进行此操作。谢谢你的帮助!

6 个答案:

答案 0 :(得分:38)

使用图片提交按钮,the doc说:

  

<input type="image">将图片定义为提交按钮

<input type=image src=button.png alt="Submit feedback">

(在设置在线表单时我不会使用建议使用snailmail的图片,但可能有一些理由建立这样的关联。)

答案 1 :(得分:31)

input[type=submit] {
    background: url(http://lrroberts0122.github.com/DWS/lab6/level-2/images/button.png);
    border: 0;
    display: block;
    height: _the_image_height;
    width: _the_image_width;
}

答案 2 :(得分:1)

您可以将浏览器提供的样式覆盖到按钮。

例如,将此添加到您的CSS可以帮助我(在Chrome上):

.controls input {
   background: url(' http://lrroberts0122.github.com/DWS/lab6/level-2/images/button.png') -411px -540px no-repeat;
   width: 199px;
   height: 109px;
   border: none;
}

但实际上,如果您不打算使用浏览器的css按钮,则根本不应使用<input type='submit'>,只需插入图片(通过<img src="" />标记或{{ 1}}以图像为背景)并附加一个点击监听器。

例如:

html:

<div>

javascript(假设你使用jQuery):

<div class="controls">
    <img src="/yourimage.png" />
</div>

答案 3 :(得分:1)

HTML:

<lable>From css class</lable><input class="input" onclick="alert('clicked')" type="button" value="" /><br/>
<lable>From HTML tag</lable>
<input type="button" style="background:url(http://cdn.sstatic.net/stackexchange/img/favicon.ico);" onclick="alert('clicked')"/>

CSS:

.btn{
    display: inline-block;
 background:url(http://cdn.sstatic.net/stackexchange/img/favicon.ico);
    position: relative;
    border-radius: 5px;
}
.input{
    background: transparent;
    color: #fff;
    border: 0;
    padding-right: 20px;
    cursor: pointer;
    position: relative;
    padding: 5px 20px 5px 5px;
    z-index: 1;
}

JS小提琴: http://jsfiddle.net/AJNnZ/26/

答案 4 :(得分:1)

将INPUT标记作为图像的简单方法

<input type="submit" value="" style="background-image: url('images/img.png'); border:none; background-repeat:no-repeat;background-size:100% 100%;">

答案 5 :(得分:-1)

另一种类似的hackish方式(使用jQuery):

<div onclick="$(this).parent('form').submit();"></div>

然后按照自己喜欢的方式设置div的样式。