我正在使用jQueryUI数据报警器小部件,
$(function() {
$( "#datepicker" ).datepicker({
showOn: "button",
//buttonImage: "images/calendar.gif",
buttonImageOnly: true,
buttonText: "Select date"
});
});如果从数据报警器中删除buttonImage属性,则可以通过CSS设置图像。
.ui-datepicker-trigger {
background-image: url("images/calendar.gif",);
}这种方法让我在图像周围留下一个黄色的盒子。这是因为img元素没有分配给它的src属性的图像,而是有一个背景图像。
这种方法是错误的,但是如果我必须使用它,这意味着从jQuery中删除图像并仅通过CSS添加它,有什么方法可以删除我的图像周围的黄色框吗?
border:0 does not work.干杯!
在小提琴里,你可以清楚地看到边界。如果取消对CSS部件的注释,它将覆盖jQuery,并且边框不再出现。
发布于 2014-10-23 15:31:21
为了好玩,作为乔希·伯吉斯回答的另一种选择,我通过使用纯css并注释掉buttonImageTrue,完成了您想要的目标:
更新的js
$(function() {
$( "#datepicker" ).datepicker({
showOn: "button",
//buttonImage: "http://upload.wikimedia.org/wikipedia/commons/a/aa/Wink(16px).svg",
//buttonImageOnly: true,
buttonText: "Select date"
});
});CSS
.ui-datepicker-trigger {
background-image: url("http://upload.wikimedia.org/wikipedia/commons/a/aa/Wink(16px).svg");
width: 16px;
height: 16px;
background-color: transparent;
border: none;
color: transparent;
}发布于 2014-10-23 15:15:29
新的答案,因为你采取的方法是有趣的,我一般不会推荐它。然而..。
这是我们改变的一切:
$(function() {
$( "#datepicker" ).datepicker({
showOn: "button",
buttonImage: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
buttonImageOnly: true,
buttonText: "Select date"
});
});特别注意那个新按钮图像:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
这是1px乘以1 1px透明图像的Base64编码。这将消除图像的空src默认呈现,允许图像的背景图像显示有增无减。
我不建议使用图像作为背景图像按钮元素,除非在未来绝对必要,但是,它不仅在语义上不正确,而且不可避免地会出现一些跨浏览器的问题。公平的警告。
TL;DR:这是可行的,但是YMMV
发布于 2014-10-23 15:03:06
当然,只需将其添加到CSS中即可。
#datepicker button img {
display: none!important;
}如果没有一些示例代码,恐怕这是我所能提供的最好的代码。
https://stackoverflow.com/questions/26530852
复制相似问题