爲例inline-block
確實在調整您的動畫顯示時進行了調整,以便它能夠讓長詞再次進入該空間。
一個簡單的解決方案是添加text-align: justify
,但恐怕它可能不完全是你想要的(見demo)。
另一個是使用media queries
,正如@Parody建議的那樣,但是您必須知道包含div
的尺寸,並且這不會像您提到的那樣具有很大的可擴展性。
@yugi建議的word-break: break-all
也有效,但會導致單詞拼寫錯誤,無論其長度如何。
實現確切行爲的唯一方法是(據我所知)使用JavaScript。例如,你有你的文本換到div
內span
元素,然後添加這樣的事情:
var paddingLeft = parseInt($('#foo').css('padding-left')),
paddingRight = parseInt($('#foo').css('padding-left')),
paddingTop = parseInt($('#foo').css('padding-top')),
paddingBottom = parseInt($('#foo').css('padding-Bottom')),
cloned = $('#foo span').clone(),
cloned_wrap = document.createElement('div');
$(cloned_wrap).css({
paddingLeft : paddingLeft,
paddingRight : paddingRight,
display : 'inline-block',
visibility: 'hidden',
float: 'left',
});
$(cloned_wrap).insertAfter('#foo');
cloned.appendTo(cloned_wrap);
$(window).on('resize', function(){
$('#foo').css('width', cloned.width() + 1);
$(cloned_wrap).css('margin-top',- $('#foo').height() - paddingTop - paddingBottom);
}).resize();
請參閱jsfiddle working demo。 (←多次編輯)
這是相當多的代碼,但它的工作; )
(PS:我認爲jQuery的可用,如果沒有,完全沒有,同樣是純JS實現)
我真的需要一些代碼來工作..你可以請添加一個jsfiddle – Nick 2014-10-20 07:09:08
http://jsfiddle.net/527z755p/謝謝:) – AKG 2014-10-20 07:17:21
@AKG:我已經刪除了我的答案(如果最後一行比第一行更短,它不起作用)。 – 2014-10-26 08:31:26