色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

水平列表的響應分隔符

錢淋西1年前7瀏覽0評論

這個問題是對“導航分隔符”的擴展,它詢問如何在視口大小引起的換行符處刪除分隔符。

寬視窗

->       Item 1 | Item 2 | Item 3 | Item 4 | Item 5       <-

小視窗

->  Item 1 | Item 2 | Item 3  <-
->      Item 4 | Item 5       <-

這是一把小提琴,展示了一根管子如何留在斷線處:

瞎搞。

我對只有css的解決方案感興趣,但是如果javascript提供了唯一可能的解決方案,它也是可以接受的。

您可以利用尾隨空格和行尾空格會自動折疊的事實:

document.write(
 'word<b style="background: red; outline: 1px solid blue;"> </b>'
 .repeat(42)
);

來自同一CSS的不同解決方案:行中的最后一個元素似乎在這里也能工作。

HTML:

<div>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
</div>

CSS:

div {overflow: hidden; margin: 1em; }
div ul { list-style: none; padding: 0; margin-left: -4px; }
div ul li { display: inline; white-space: nowrap; }
div ul li:before { content: " | "; }

(小提琴)

如果你有你的元素的靜態寬度,你可以通過媒體屏幕來計算。 如果不使用腳本

body {
  text-align: center;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  display: inline-block;

  &:not(:last-child):after {
  content: ' |';  
  }
}
@media screen and (max-width: 265px) {
  li {
  display: inline-block;

  &:not(:last-child):after {
  content: '';  
  }
}

}

問得好。對我來說,恐怕我想不出一個防水的僅使用CSS的解決方案...

我修改了一個類似問題的舊解決方案:CSS:最后一行元素。有趣的是,不久前我正在尋找另一個問題的解決方案,無意中發現了這個——從那以后就被收藏了!

這里有一個撥弄我的更新: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();

注意——目前在加載時效果最好,即使我使用toggleClass(),調整大小也會引起一些問題。因此,每次調整視圖大小時,請一直按“運行”鍵。我會繼續努力,然后給你回復..

我的JavaScript實現:https://jsfiddle.net/u2zyt3vw/5/

調整窗口大小后,再次點擊“運行”。

您還可以添加事件偵聽器,如onresize。下面是JS:

var listItems = document.getElementsByTagName("li");
var listItemsWidth = [];
var listItemsDistance = [];

for (let i = 0; i < listItems.length; i++) {
  listItemsWidth[i] = listItems[i].offsetWidth;
  listItemsDistance[i] = listItems[i].getBoundingClientRect().right;
}

for (let i = 0; i < listItems.length; i++) {
  if (listItemsDistance[i] == Math.max.apply(null, listItemsDistance)) {
    listItems[i].classList -= "notLast";
  } else {
    listItems[i].classList = "notLast";
  }
}

我將notLast類添加到所有元素中,這就是包含:after偽元素的管道。這個腳本將這個類從靠近容器右邊緣的類中刪除。

我還在偽元素后亂搞了:并把它變成了position:absolute;出于陰暗的原因。