2013-02-22 91 views
1

我有一个图像是100%的窗口。里面我有一个绝对定位的div(类caption),它显示标题和一些文本。这个标题有36%的min-width。我的网站如果完全响应。CSS:增加父宽度,如果p覆盖的高度

我正在使用媒体查询重新定位平板电脑和手机上的标题。但是,有时item内的文字太大 - 标题的高度大于图像。

我使用下面的代码来解决这个使用JavaScript,但感觉大马车(当用户改变浏览器,它不工作):

window.onload = function(){ 
    setWidth(); 
}; 

var count = 0; 
function setWidth() { 
    $('.item').each(function() { 
     if ($(this).find('.caption')[0].scrollHeight > $(this).height() && count <= 100) { 
      $(this).find('.caption').css('width', $(this).find('.caption').width() + 10); 
      count++; 
      setWidth(); 
     } 
    }); 
} 

有没有一种方法,我可以实现使用只是CSS相同的效果。 caption上的max-height为100%,min-width为36%,并且随着标题高度改变,宽度将相应地改变。

+0

工作代码时调整,你必须使用'window.onresize'事件浏览器。为了给你更好的解决方案,你可以在jsfiddle.net中创建一个示例并与我们分享... – Ryxle 2013-02-22 14:34:48

回答

0

很难看出CSS是否可行,如果没有标记就可以了。至于JavaScript,您希望将resize函数附加到window.onresize事件中,只要窗口调整大小,就会调用它。

See example on JSFiddle

window.onresize = updateDimensions; 

function updateDimensions(e) { 
    document.getElementById('width').innerHTML = window.innerWidth; 
    document.getElementById('height').innerHTML = window.innerHeight; 
} 

updateDimensions();