2011-02-01 52 views
7

基本上,我有一个HTML元素(在这种情况下,一个div),由于浮动元素,在屏幕分辨率低于平均值的情况下,它将换行。我想要控制这种行为,如果它实际上是被包装的或者将被包装在resize/onload上,则会以不同的方式放置和/或设置元素的样式。任何方式来确定一个元素是否被包装?

这可能吗?

+0

如果用户想用C来提高大小^ +或者那种性质的东西。你是否还想调整给定的元素为特定的宽度?如果你不断调整我想增强的功能,这会让我很失望。 – Chris 2011-02-01 13:54:23

回答

7

您可以使用element.getClientRects()来计算它使用的文本矩形的数量,该值为元素的每个边框返回一个ClientRect对象。这必须内嵌元素上进行,如<span>文本的每一行都有自己的边界框,但它足够简单易用:

window.onresize = function() { 
    var span = document.getElementById("myDiv").getElementsByTagName("span")[0], 
     rect = span.getClientRects(); 

    if (rect.length > 1) // more than 1 line of text 
     doSomethingWithElement(span.parentNode); 
} 
+0

我喜欢你在这里领导的方向 - 但让我们说这个元素不仅仅包含简单的文字......然后呢? – 2011-02-01 13:59:58

相关问题