Пример:
Каждое слово текста переносится на новую строку
HTML:
Если нужно разместить несколько слов на одной строке, стоит использовать неразрывный пробел
1 |
<div class="ribbontext">Каждое слово текста переносится на новую строку</div> |
CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
.ribbontext { display: inline-block; } .ribbontext span { position: relative; padding: 0 25px; margin-bottom: 15px; background: #337AB7; display: block; font-size: 20px; font-family: 'Roboto', sans-serif; color: #fff; font-weight: bold; line-height: 50px; text-align: center; text-transform: uppercase; } .ribbontext span:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; width: 112px; } .ribbontext span:before { background: #2d6b9f; transform-origin: 0 0; transform: skewY(30deg); } .ribbontext span:last-child:before { display: none; } |
Если нам известна ширина горизонтальной ленты, то можно настроить угол поворота тыльной наклонной transform: skewY(30deg);
и не задавать ей ширину width: 112px;
, например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
.ribbontext { display: inline-block; } .ribbontext span { position: relative; padding: 0 25px; margin-bottom: 15px; background: #337AB7; display: block; font-size: 20px; font-family: 'Roboto', sans-serif; color: #fff; font-weight: bold; line-height: 50px; text-align: center; text-transform: uppercase; width: 180px; box-sizing: content-box; } .ribbontext span:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; } .ribbontext span:before { background: #2d6b9f; transform-origin: 0 0; transform: skewY(15.6deg); } .ribbontext span:last-child:before { display: none; } |
Результат будет таким:
Каждое слово текста переносится на новую строку
jQuery:
1 2 3 4 5 6 7 8 9 |
$('.ribbontext').each(function (){ var text = $(this).html().split(' '), length = text.length, result = []; for (var i=0; i<length; i++) { result[i] = '<span>' + text[i] + '</span>'; } $(this).html(result.join(' ')); }); |
Добавить комментарий: