2010-04-03 60 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;} 
相關問題