情況:我有兩個固定高度的div,溢出設置爲隱藏在兩者上,以及第一個div內的動態文本內容。如果該內容超出第一個div的溢出邊界,我希望它會自動泄漏到第二個div中。將溢出從一個div轉移到另一個
我的問題是簡單的如何做到這一點?我研究過,最接近我發現的是一個JQuery插件,它可以自動爲報紙佈局創建列。雖然這不完全是我需要的,但它確實讓我希望這可以在更簡單的層面上實現。
視覺舉例:
<html>
<head>
<style type="text/css">
div{height:1in;width:4in;overflow:hidden}
</style>
</head>
<body>
<div id="d1">...(enough text to cause overflow exceeding 1in height)...</div>
<div id="d2">...(the rest of the text that got cut off from the first div)...</div>
</body>
</html>
謝謝大家!基於所有的輸入,我把它放在一起。注意:這個可能不適合每個人的宗旨:
- 我這樣做是在JQuery中
- 這是非常概念化
- 每增加一個項目它自己的元素,而不僅僅是打開的文本
- 我已經知道我需要的是一個單一的DIV不會打破溢出限制
話雖這麼說:
HTML
<html>
<head>
<style type="text/css">
#base{border:1px black solid;height:2in;width:3in;overflow:hidden;}
#overflow{border:1px black solid;width:3in;}
.content{width:2in}
</style>
<script type="text/javascript" src="ref/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="work.js"></script>
</head>
<body>
<div id="base">
<div id="sub"></div>
</div>
<br />
<div id="overflow">
</div>
JQ
$(document).ready(function(){
// An array of content, loaded however you wish
var items=new Array();
items[0]='<div class="content" id="C0" style="border:1px blue solid;height:.75in">content 1</div>';
items[1]='<div class="content" id="C1" style="border:1px green solid;height:.75in">content 2</div>';
items[2]='<div class="content" id="C2" style="border:1px red solid;height:.75in">content 3</div>';
items[3]='<div class="content" id="C3" style="border:1px yellow solid;height:.75in">content 4</div>';
items[4]='<div class="content" id="C4" style="border:1px orange solid;height:.75in">content 5</div>';
// Variable for the height of the parent div with the fixed width
var baseheight=$("#base").css('height').substring(0,$("#base").css('height').length-2);
// Function to dynamically get the height of the child div within the fixed width div
function subheight(){return $("#sub").css('height').substring(0,$("#sub").css('height').length-2);}
// For each individual piece of content...
for(i=0;i<items.length;i++)
{
// Add it to the child div
$("#sub").append(items[i]);
// Variable for the difference in height between the parent and child divs
var diff=subheight()-baseheight;
// If this piece of content causes overflow...
if(diff>0)
{
// Remove it...
var tooMuch="#C"+i;$(tooMuch).remove();
// And put it in the overflow div instead
$("#overflow").append(items[i]);
}
}
});
你能笑舉個例子?碼?一個圖像?我無法想象你的概念。 – elclanrs 2012-02-16 03:40:50
想象一下這是一個div:'| text |'。你想要類似'| long content |的東西嗎? |長篇內容溢出|'? –
2012-02-16 03:45:22
當然::我會把例子放在我原來的帖子中:: – 2012-02-16 03:52:02