在這一整晚都在工作,不知道它會如此辛苦。我的目標是在話本撥弄中解釋,如果你只是想跳到是:http://jsfiddle.net/6VZeD/滾動一個垂直居中的DIV而沒有在同一個框中滾動另一個
基本上,我希望有一個浮動,固定大小的告別賽盒包含兩個元素,a.part
和.full
,這兩者都是垂直居中,即使是多行。當.full
溢出,導致滾動條,我想要滾動.full
而a.part
保持垂直居中。我不能絕對定位a.part
,因爲它需要以任意大小垂直居中。於是我將a.part
包裝在一個絕對定位的元素中,但是它隨着.full
一起滾動。沒有bueno。我使用jQuery同位素來定位固定大小的框,並且我正在擴展框(寬度,高度,頂邊距) ,和左邊距變化)懸停。所以我很高興在.testimonial
之間添加div,但我無法在.testimonial
之前包裝任何東西(儘管我可以向它添加類)。我開始研究涉及.hide()和.offset()的jQuery解決方案,但事情開始變得混亂,特別是因爲我大量使用CSS轉換。所以我希望儘可能避免使用Javascript。
這裏的小提琴HTML:
<div class="box praise testimonial">
<div class="abs1">
<a class="part" href="#">stay vertically centered!<br/>even if you scroll!</a>
</div>
<div class="abs2">
<div class="full">
<p>This text is larger than its containing box, and I want a scrollbar to appear. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum vitae nisl at justo sodales congue. Praesent sed arcu sit amet dolor molestie venenatis. Curabitur et consequat libero. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed posuere lectus nec est viverra faucibus scelerisque massa fermentum. Donec ultricies bibendum tincidunt. Sed sit amet mi massa, a egestas arcu. Maecenas vitae libero metus. Proin dolor lorem, molestie ut ullamcorper sit amet, varius sit amet urna. Nunc aliquet scelerisque dui, et tristique quam molestie vitae. Etiam ac justo sapien. Etiam ipsum ante, porttitor posuere placerat id, congue quis neque. Nunc et elementum odio. Sed vulputate semper erat, a lobortis dolor porttitor ut.</p>
</div>
</div>
</div>
<div class="box praise testimonial">
<div class="abs1">
<a class="part" href="#">stay vertically centered!<br/>even if you scroll!</a>
</div>
<div class="abs2">
<div class="full">
<p>this<br/>should<br/>stay<br/>centered<br/>too!</p>
</div>
</div>
</div>
而CSS:
body {
color: #fff;
}
a { color: #fff; font-size: 18px; font-weight: bold; text-decoration: none; }
.box {
display: inline-block;
position: relative;
float: left;
overflow: hidden;
margin: 20px;
background: #777;
}
.testimonial, .testimonial .abs1, .testimonial .abs2, .testimonial a.part, .testimonial .full {
height: 250px;
width: 250px;
}
.testimonial:hover {
overflow: auto !important;
}
.testimonial a.part {
display: table-cell;
vertical-align: middle;
text-align: right;
}
.testimonial .abs1 {
position: absolute;
top: 0;
left: 0;
}
.testimonial .abs2 {
position: absolute;
top: 0;
left: 0;
}
.testimonial .full {
display: table-cell;
vertical-align: middle;
opacity: 0.5
}
任何幫助會賺我的永恆的讚賞。
聲音還不清楚(對我來說)。你需要1.你的#container中的同位素.items 2.包含溢出.full內容(文本和圖像),導致滾動條和3.滾動內容的頂部,你想要一些大膽的白色縱向和橫向居中文本。那**沒有**滾動下面的內容?因此,.full和.part都必須位於同位素.item內,但.part一定不能包含在.full內,否則會滾動。 – Systembolaget
.part不包含在.full中,但它會滾動.full。那就是問題所在。 – Zade
嗯,我在下面的答案中爲你解決了這個部分。 – Systembolaget