Answers:
如果您绝对必须使用input
,请尝试以下操作:
background-image: url(...);
background-repeat: no-repeat;
background-position: <left|right>;
padding-<left|right>: <width of image>px;
它通常是一个比较容易使用button
与img
内:
<button type="submit"><img> Text</button>
但是,button
用于提交的浏览器实现与所有按钮值都在button
使用时发送的事实是不一致的-这取消了多次提交形式的“单击了什么按钮”检测。
button
(with type submit
)的工作原理input
与之相同,只是允许内部包含元素(而不仅仅是将样式应用于其中)。
<button>
实现的“麻烦”部分来自于以下事实:1)在POST / GET上,它为每个按钮(不仅是单击的按钮)都提交“值”,并且2)value
IE喜欢发送而不是发送实际属性发送按钮的内容(内部HTML)。<button>
如果采取的措施取决于用户单击的按钮,则这些事实会使标记不可靠。
<button>
和<input type=button>
互换。如果您不希望<button>在IE中提交,则将其类型设置为:<button type="button">Text</button>
假设您的按钮图像为16 x 16像素,这应该可以做您想做的事情。
<input type="button" value="Add a new row" class="button-add" />
input.button-add {
background-image: url(/images/buttons/add.png); /* 16px x 16px */
background-color: transparent; /* make the button transparent */
background-repeat: no-repeat; /* make the background image appear only once */
background-position: 0px 0px; /* equivalent to 'top left' */
border: none; /* assuming we don't want any borders */
cursor: pointer; /* make the cursor like hovering over an <a> element */
height: 16px; /* make this the size of your image */
padding-left: 16px; /* make text start to the right of the image */
vertical-align: middle; /* align the text vertically centered */
}
示例按钮:
更新资料
如果您恰巧使用了Less,则此混合可以派上用场。
.icon-button(@icon-url, @icon-size: 16px, @icon-inset: 10px, @border-color: #000, @background-color: transparent) {
height: @icon-size * 2;
padding-left: @icon-size + @icon-inset * 2;
padding-right: @icon-inset;
border: 1px solid @border-color;
background: @background-color url(@icon-url) no-repeat @icon-inset center;
cursor: pointer;
}
input.button-add {
.icon-button("http://placehold.it/16x16", @background-color: #ff9900);
}
以上编译成
input.button-add {
height: 32px;
padding-left: 36px;
padding-right: 10px;
border: 1px solid #000000;
background: #ff9900 url("http://placehold.it/16x16") no-repeat 10px center;
cursor: pointer;
}
<button type="submit" style="background-color:transparent; border-color:transparent;">
<img src="images/button/masuk.png" height="35"/>
</button>
<button type="reset" style="background-color:transparent; border-color:transparent;">
<img src="images/button/reset.png" height="35"/>
</button>
我希望这可以帮助你。
如果您使用的是Spritesheets,这将变得不可能,并且必须包装元素。
.btn{
display: inline-block;
background: blue;
position: relative;
border-radius: 5px;
}
.input, .btn:after{
color: #fff;
}
.btn:after{
position: absolute;
content: '@';
right: 0;
width: 1.3em;
height: 1em;
}
.input{
background: transparent;
color: #fff;
border: 0;
padding-right: 20px;
cursor: pointer;
position: relative;
padding: 5px 20px 5px 5px;
z-index: 1;
}
看看这个小提琴:http : //jsfiddle.net/AJNnZ/
您可以尝试将图像插入按钮 http://jsfiddle.net/s5GVh/1415/
<button type="submit"><img src='https://aca5.accela.com/bcc/app_themesDefault/assets/gsearch_disabled.png'/></button>
这是所需的最小样式,使图像适合默认按钮大小:
<input type="button" value=" " style="background-image: url(http://www.geppoz.eu/geppoz.png);background-size:100% 100%;">
为了保持基线对齐,需要“ spaced”值,以防万一。
sshow的答案也对我有用:
navigation.css:
[...]
.buttonConfiguration {
width: 40px;
background-color: red; /* transparent; */
border: none;
color: white;
padding: 5px 10px;
text-align: center;
text-decoration: none;
display: inline-block;
font-family: corbel;
font-size: 12px;
font-weight: normal;
margin: 1px 1px;
cursor: pointer;
background-image: url('../images/icons5/gear_16.png');
background-position: center; /* 0px 0px; */
background-repeat: no-repeat;
vertical-align: middle;
}
[...]
frameMenu.php:
[... PHP, Javascript and HTML code ...]
<!-- <li><a target="frameBody" href="admin/conf/confFunctions.php"><input type="button" class="buttonSuperAdmin" value="<?= $oLanguage->getExpression('confSettings', 'title', 'C e n t e r s') ?>"></a> -->
<li><a target="frameBody" href="admin/conf/confFunctions.php"><input type="button" class="buttonConfiguration" value=""></a>
<ul>
<li><a target="frameBody" href="admin/conf/getglobals.php "><input type="button" class="buttonSuperAdminSub" value="<?= $oLanguage->getExpression('centerSettings', 'confAdmin1', 'GetGlobals') ?>"></a></li>
<li><a target="frameBody" href="admin/conf/getcwd.php "><input type="button" class="buttonSuperAdminSub" value="<?= $oLanguage->getExpression('confSettings', 'centerAdmin2', 'GetCWD') ?>"></a></li>
</ul>
</li>
[...]
我已经在最新版本的Firefox和Chrome(截至2019年2月9日)上成功进行了测试。
这对我来说效果很好,并且我正在处理悬停并单击CSS(通过更改背景色):
HTML(此处显示2张图片,图片1在图片2的顶部):
<button class="iconButton" style="background-image: url('image1.png'), url('image2.png')"
onclick="alert('clicked');"></button>
CSS(我的图片是32px X 32px,所以我给它们4px用于填充和5px边框舍入):
.iconButton {
width: 36px;
height: 36px;
background-color: #000000;
background-position: center;
background-repeat: no-repeat;
border: none;
border-radius: 5px;
cursor: pointer;
outline: none;
}
.iconButton:hover {
background-color: #303030;
}
.iconButton:active {
background-color: #606060;
}
button::-moz-focus-inner {
border: 0;
}
<img src="http://www.pic4ever.com/images/2mpe5id.gif">
<button class="btn btn-<?php echo $settings["button_background"]; ?>" type="submit"><?php echo $settings["submit_button_text"]; ?></button>