我知道已经接受了一个答案,但我只是提供了一种替代方法和一种适用于动态高度的方法。
我不确定箭头只是在 a<a href=#">←</a>
内还是在 span 内<a href=#"><span>←</span></a>
。当它们不在跨度内时,应使用 jQuery 添加。
静态宽度和高度:FIDDLE。
// Add span-wrappers around controls
$("a.controls").each(function() {
$(this.firstChild).wrap("<span></span>");
});
// Position arrows vertically
$("a.controls > span").css("top", function() {
var thisH = $(this).height(),
parentH = $(this).parent().height(),
thisTop = (parentH/2) - (thisH/2);
return thisTop;
});
现在,当您使用动态/流体布局时,这将无法正常工作,因为顶部值只计算一次。每次调整窗口大小时,我们都需要重新计算该值。看看这里。
// Keep aspect ratio of div
function slideHeight() {
$("#slide-container").height(function() {
var $this = $(this),
w = $this.width() / 2.133;
return w;
});
}
slideHeight();
// Add span-wrappers around controls
$("a.controls").each(function() {
$(this.firstChild).wrap("<span></span>");
});
// Position arrows vertically
function arrowPos() {
$("a.controls > span").css("top", function() {
var thisH = $(this).height(),
parentH = $(this).parent().height(),
thisTop = (parentH / 2) - (thisH / 2);
return thisTop;
});
}
arrowPos();
//Execute functions on resize
$(window).resize(function() {
slideHeight();
arrowPos();
});
给你。:)