2010-04-03 61 views
0

我想让按钮位于右上角,我尝试了position:absolute,但我认为盒子不是相对的,所以我不能使用top:0 ;.如何将关闭按钮移动到slimbox中的框右上角(jQuery)

有什么建议吗?

CSS: 

/* SLIMBOX */ 

#lbOverlay { 
    position: fixed; 
    z-index: 9999; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 100%; 
    background-color: #000; 
    cursor: pointer; 
} 

#lbCenter, #lbBottomContainer { 
    position: absolute; 
    z-index: 9999; 
    overflow: hidden; 
    background-color: #fff; 
} 

.lbLoading { 
    background: #fff url(slimbox2/loading.gif) no-repeat center; 
} 

#lbImage { 
    position: absolute; 
    left: 0; 
    top: 0; 
    border: 10px solid #fff; 
    background-repeat: no-repeat; 
} 

#lbPrevLink, #lbNextLink { 
    display: block; 
    position: absolute; 
    top: 0; 
    width: 50%; 
    outline: none; 
} 

#lbPrevLink { 
    left: 0; 
} 

#lbPrevLink:hover { 
    background: transparent url(slimbox2/prevlabel.gif) no-repeat 0 15%; 
} 

#lbNextLink { 
    right: 0; 
} 

#lbNextLink:hover { 
    background: transparent url(slimbox2/nextlabel.gif) no-repeat 100% 15%; 
} 

#lbBottom { 
    font-family: Verdana, Arial, Geneva, Helvetica, sans-serif; 
    font-size: 10px; 
    color: #666; 
    line-height: 1.4em; 
    text-align: left; 
    border: 10px solid #fff; 
    border-top-style: none; 
} 

#lbCloseLink { 
    display: block; 
    float: right; 
    width: 31px; 
    height: 32px; 
    background: transparent url(slimbox2/closelabel.gif) no-repeat center; 
    margin: 5px 0; 
    outline: none; 
} 
#lbCloseLink:hover { 
    background: transparent url(slimbox2/closelabel_hover.gif) no-repeat center; 
    border-bottom: 0px; 
} 

#lbCaption, #lbNumber { 
    margin-right: 71px; 
} 

#lbCaption { 
    font-weight: bold; 
} 

回答

1

按钮#lbCloseLink#lbBottomContainer,这是绝对定位的内部。

您可以尝试按钮上的margin-top: -Npx,但为了达到此目的,您必须知道您的内容的高度,并在#lbBottomContainer上删除overflow: hidden。 另一种解决方案可能是修补Slimbox并将按钮放入#lbCenter

0

我编辑slimbox.js(第一延伸与脚本:http://jsbeautifier.org/),和slimbox.css`

1)EDIT slimbox.js

I.setStyles({ 
       width: N, 
       top: O, /* modified for TOP POSITION; original was O+t */ 
       marginLeft: -N/2, 
       visibility: "hidden", 
       display: "" 
      }); 


b.setStyles({ 
      overflow:"visible", /* new line inserted for visibility TOP POSITION */ 
       top: Math.max(0, z - (t/2)), 
       width: N, 
       height: t, 
       marginLeft: -N/2, 
       display: "" 
      }); 

2)EDIT slimbox.css

#lbBottom { 
    font-family: Verdana, Arial, Geneva, Helvetica, sans-serif; 
    font-size: 10px; 
    color: #666; 
    line-height: 1.4em; 
    text-align: left; 
    border-right: 10px solid #fff; /* modified: line inserted for TOP POSITION */ 
    border-left: 10px solid #fff; /* modified: line inserted for TOP POSITION */ 
} 

#lbCloseLink { 
    display: block; 
    float: right; 
    width: 66px; 
    height: 22px; 
    background: transparent url(closelabel.gif) no-repeat center; 
    margin:0 0 0 0; /* modified for TOP POSITION */ 
    outline: none; 
} 

#lbCaption, #lbNumber { 
    margin-right: 71px; 
    margin-top:7px; /* line inserted for TOP POSITION */ 
} 
0

根据版本2.05 您需要将lbClos​​eLink插入lbCenter div;这可以通过切割

w('<a id="lbCloseLink" href="#" />').click(C)[0], 

之后,它与相对位置

g=w('<div id="lbImage" rel=""/>').appendTo(a).append(p=w('<div style="position: relative;" />').append([w('<a id="lbCloseLink" href="#" />').click(C)[0],I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]; 

追加到无名DIV上前,你需要定制slimbox2.css,使lbClos​​elink位置绝对和z指数高于1,你也可以删除float:right;因为它具有绝对位置,所以浮动无效

#lbCloseLink { 
position: absolute; 
right:0px; 
z-index: 2; 
display: block; 
width: %yourwidth%; 
height: %yourheight%; 
background: transparent url(closelabel.gif) no-repeat center; 
outline: none;} 
相关问题