我想用最大高度和初始寬度創建一個div,並且僅當內容達到最大高度值時才增加寬度?沒有JavaScript可以做到嗎?只有當最大高度達到時,纔會增加CSS的寬度
https://fiddle.jshell.net/zn77t0r1/
UPDATE:
如果沒有,如何輕鬆地用JS或jQuery的做呢?
我想用最大高度和初始寬度創建一個div,並且僅當內容達到最大高度值時才增加寬度?沒有JavaScript可以做到嗎?只有當最大高度達到時,纔會增加CSS的寬度
https://fiddle.jshell.net/zn77t0r1/
UPDATE:
如果沒有,如何輕鬆地用JS或jQuery的做呢?
如果你允許的jQuery,你可以做這樣的事情:
$(document).ready(resizeWidth()); //call function when page is loaded
$(window).resize(resizeWidth()); //call function when page is resized
function resizeWidth(){
var maxHeight = $('.container').eq(0).css('max-height');
maxHeight = maxHeight.split('px')[0];//remove px
var cWidth = $('.container').eq(0).width();
var currHeight = $('div.container')[0].scrollHeight;
while(maxHeight < currHeight)
{
cWidth += 100;
$('.container').eq(0).css('width', cWidth + 'px');
currHeight = $('div.container')[0].scrollHeight;
}
}
功能不斷加入到100像素的寬度,只要文本高於div的max-height
。
所以你必須知道你的div的高度是如何增加它的寬度的。
喜歡的東西
If (height >= max-height) //change width
這是不可能的,只有CSS或HTML。 但如果你不介意使用jQuery,用jQuery很容易。
這應做到:
//call function when page is loaded
$(document).ready(function(){
resizeWidth();
});
//call function when page is resized
$(window).resize(function(){
resizeWidth();
});
function resizeWidth(){
var maxHeight = 250; // your max-height in px
if ($('.container').height() >= maxHeight) {
$('.container').css('max-width', '400px');
}else {
$('.container').css('max-width', '200px');
}
}
好的,讓我們來允許jQuery。 –
我已經更新了小提琴:https://fiddle.jshell.net/zn77t0r1/1/,但它不工作,我認爲代碼不能應付內部的文本,它只設計爲跳過兩種尺寸。 –
我改了一點代碼。我不確定它是否你想要,但我確定你可以玩它,並得到它的權利。乾杯 –
內容的大小是如何增加的?如果您的內容已修復,但您的div縮小,則可以使用媒體查詢檢查頁面的高度。 – gaynorvader
它是一些類的div,但它可以包含可變長度的文本。 –
你可以發佈你的標記和樣式,或創建一個小提琴嗎? – Vucko