Flexbox Parent To Extend Width If The Child Contains A Really Long Word
I wonder if anyone can help me with this issue, I can't seem to find anyone else who's wanting to do this with flexbox! I've set up a basic Flexbox scenario where several elements
Solution 1:
Flexbox doesn't seem to be aware of the overflowing text width. You said any help would be great. If you are ok with a bit of JavaScript (jQuery), then this problem of yours can be solved.
We'll start by adding a bit of CSS:
.WidgetNew.twobytwo {
flex: 11450px;
}
Then we'll use a bit of jQuery to find the overflowing long words and check if they are longer than the parent containers li.WidgetNew.
If the inner div with the long text is longer than the parent container then add the class .twobytwo to it's parent .WidgetNew element
Add the JavaScript:
var el = $('.WidgetNew > p');
$(el).each(function(index, value) {
var tempEl = textWidth($(this));
var tempElP = $(this).parent().width();
if (tempEl > tempElP) {
$(this).parent().addClass('twobytwo');
$(this).parent().siblings().addClass('twobytwo');
}
});
functiontextWidth(el){
var text = $(el).html();
$(el).html('<span>'+text+'</span>');
var width = $(el).find('span:first').width();
$(el).html(text);
return width;
};
Hope this helps.
Post a Comment for "Flexbox Parent To Extend Width If The Child Contains A Really Long Word"