使用CSS或Javascript垂直拉伸DIV中的文本

使用CSS或Javascript垂直拉伸DIV中的文本,javascript,jquery,css,Javascript,Jquery,Css,我们在您的web布局中有一个固定宽度和高度的DIV。根据DIV中的某些上下文自动插入文本,并且文本的长度通常适合大多数框是垂直填充的。也许盒子底部有一两条空行。业务要求:文本顶部和文本底部应与方框的上下边距对齐。有没有办法通过CSS或Javascript自动垂直拉伸文本(例如通过调整第八行)?总有办法。;-)使用纯CSS很难做到这一点,除非有一个我不知道的新属性 我很想用JavaScript来实现这一点,尤其是因为框的维度不会改变。这真的只是一堆数学题。这是一个刚刚拼凑起来的样本。我没有在任何其

我们在您的web布局中有一个固定宽度和高度的DIV。根据DIV中的某些上下文自动插入文本,并且文本的长度通常适合大多数框是垂直填充的。也许盒子底部有一两条空行。业务要求:文本顶部和文本底部应与方框的上下边距对齐。有没有办法通过CSS或Javascript自动垂直拉伸文本(例如通过调整第八行)?

总有办法。;-)使用纯CSS很难做到这一点,除非有一个我不知道的新属性

我很想用JavaScript来实现这一点,尤其是因为框的维度不会改变。这真的只是一堆数学题。这是一个刚刚拼凑起来的样本。我没有在任何其他浏览器中尝试过,您的里程数可能会有所不同。。。但至少这是一个起点。链接到小提琴(添加第二个框作为参考点):

HTML:

使用jQuery的JavaScript:

var $p = $('#box p');

var boxHeight = $('#box').height();
var lineHeight = parseInt($p.css('line-height'));
var pHeight = $p.height();
var numLines = parseInt(pHeight/lineHeight);

var newHeight = boxHeight/numLines;
$p.css('line-height', newHeight + 'px');
总有办法的使用纯CSS很难做到这一点,除非有一个我不知道的新属性

我很想用JavaScript来实现这一点,尤其是因为框的维度不会改变。这真的只是一堆数学题。这是一个刚刚拼凑起来的样本。我没有在任何其他浏览器中尝试过,您的里程数可能会有所不同。。。但至少这是一个起点。链接到小提琴(添加第二个框作为参考点):

HTML:

使用jQuery的JavaScript:

var $p = $('#box p');

var boxHeight = $('#box').height();
var lineHeight = parseInt($p.css('line-height'));
var pHeight = $p.height();
var numLines = parseInt(pHeight/lineHeight);

var newHeight = boxHeight/numLines;
$p.css('line-height', newHeight + 'px');
var $p = $('#box p');

var boxHeight = $('#box').height();
var lineHeight = parseInt($p.css('line-height'));
var pHeight = $p.height();
var numLines = parseInt(pHeight/lineHeight);

var newHeight = boxHeight/numLines;
$p.css('line-height', newHeight + 'px');