Хороший вопрос. Для жизни я не могу думать о водонепроницаемом решении только для CSS. Я боюсь ...
Я изменил старое решение аналогичного вопроса, которое было опубликовано некоторое время назад: CSS: Last element on line. Как ни странно, я искал решение другой проблемы, которую у меня было некоторое время назад, и наткнулся на нее - с тех пор был отмечен!
Вот скрипку с моими обновлениями: https://jsfiddle.net/u2zyt3vw/1/
HTML:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
CSS:
body {
text-align: center;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
display: inline-block;
&:not(:last-child):after {
content: ' |'
}
}
li.remove:after {
content: none;
}
JQuery:
$(window).on("resize", function() {
var lastElement = false;
$("ul > li").each(function() {
if (lastElement && lastElement.offset().top != $(this).offset().top) {
lastElement.addClass("remove");
}
lastElement = $(this);
}).last().addClass("remove");
}).resize();
Примечание - она лучше всего работает onload
на данный момент, изменение размера вызывает несколько проблем, даже если я использую toggleClass()
. Поэтому продолжайте нажимать «Запуск» при каждом изменении размера представления. Я поработаю над этим и вернусь к вам.
Возможный дубликат [CSS: последний элемент on line] (http://stackoverflow.com/questions/9847663/css-last-element-online) – dippas
Я не нашел этот вопрос до написания своего вопрос. Тем не менее, я считаю, что этот вопрос предполагает несколько разные ответы и варианты использования. Кроме того, этот редукт не мог обеспечить решения, соответствующие текущим спецификациям. – roydukkey