我有一个Lightbox(Colorbox),用于打开带有基本HTML内容的iFrame。实际上,这是一张图片: alt text http://demo.squeezedigital.com/barrie-test/lightbox-help.gif
我希望关闭按钮成为空心白框的位置。
Lightbox(Colorbox)CSS如下所示,我似乎没有做任何事情。 :(
(Colorbox JS文件可以在这里找到:http://colorpowered.com/colorbox/)
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative; overflow:hidden; }
#cboxLoadedContent{overflow:hidden;}
#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
#cboxOverlay{background:#890000;}
#colorBox{}
#cboxTopLeft{width:25px; height:25px; background:url(border1.png) 0 0 no-repeat;}
#cboxTopCenter{height:25px; background:url(border1.png) 0 -50px repeat-x;}
#cboxTopRight{width:25px; height:25px; background:url(border1.png) -25px 0 no-repeat;}
#cboxBottomLeft{width:25px; height:25px; background:url(border1.png) 0 -25px no-repeat;}
#cboxBottomCenter{height:25px; background:url(border1.png) 0 -75px repeat-x;}
#cboxBottomRight{width:25px; height:25px; background:url(border1.png) -25px -25px no-repeat;}
#cboxMiddleLeft{width:25px; background:url(border2.png) 0 0 repeat-y;}
#cboxMiddleRight{width:25px; background:url(border2.png) -25px 0 repeat-y;}
#cboxContent{background:#ab0a0e;}
#cboxLoadedContent{margin-bottom:0px;}
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
#cboxLoadingOverlay{background:url(loading.gif) 5px 5px no-repeat #fff;}
/* THE CLOSE BUTTON */
#cboxClose{position:absolute; top: 10px; right:10px; display:block; color:#000; z-index: 20; display: block; padding-top: 8px; padding-right: 8px; background-image: url(close-button.png); width: 83px; height: 25px;}
/* IE FIXES */
.cboxIE #cboxTopLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderTopLeft.png, sizingMethod='scale');}
.cboxIE #cboxTopCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderTopCenter.png, sizingMethod='scale');}
.cboxIE #cboxTopRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderTopRight.png, sizingMethod='scale');}
.cboxIE #cboxBottomLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderBottomLeft.png, sizingMethod='scale');}
.cboxIE #cboxBottomCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderBottomCenter.png, sizingMethod='scale');}
.cboxIE #cboxBottomRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderBottomRight.png, sizingMethod='scale');}
.cboxIE #cboxMiddleLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderMiddleLeft.png, sizingMethod='scale');}
.cboxIE #cboxMiddleRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=internet_explorer/borderMiddleRight.png, sizingMethod='scale');}
答案 0 :(得分:2)
在灯箱的HTML中插入按钮(检查脚本文件,它必须在那里)。
答案 1 :(得分:1)
叹息,所以我终于开始工作了。
原来在jQuery.Colorbox.js文件中有一个部分:
$content = $div("Content").append(
$loaded = $div("LoadedContent").css({width: 0, height: 0}),
$loadingOverlay = $div("LoadingOverlay"),
$loadingGraphic = $div("LoadingGraphic"),
$title = $div("Title"),
$current = $div("Current"),
$slideshow = $div("Slideshow"),
$next = $div("Next"),
$prev = $div("Previous"),
$close = $div("Close") //This is the problem
);
我只是将代码更改为:
$content = $div("Content").append(
$loaded = $div("LoadedContent").css({width: 0, height: 0}),
$loadingOverlay = $div("LoadingOverlay"),
$loadingGraphic = $div("LoadingGraphic"),
$title = $div("Title"),
$current = $div("Current"),
$slideshow = $div("Slideshow"),
$next = $div("Next"),
$prev = $div("Previous"),
$close = $div("") //Removed the Close class on the Div
);
$content = $div("body").append(
$close = $div("Close") //Append Close button to Body, not Content
);
无论如何都为人欢呼。
答案 2 :(得分:0)
该问题的图片不再可用。我一般回答这个问题:
如果您想要在媒体区域(图像或视频)之外使用关闭按钮,只需在onLoad事件上使用jquery并且"移动"关闭按钮:
$('.videoitem', this).colorbox({
onLoad: function() {
$('#cboxOverlay').append($('#cboxClose'));
},
iframe:true,
innerWidth:640,
innerHeight:480,
});
我会设置关闭按钮的样式以使其更加明显,但它使用背景图形。所以我的建议是使用白框阴影box-shadow: 1px 1px 12px #FFF;
。或者只是跳过背景图片并显示文本标签:
<style type="text/css">
#cboxClose {
text-indent:0;
color: #FFF;
right: 30px;
background-image:none;
}
</style>
如其他答案中所述,不需要核心黑客攻击。