亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CSS 實現(xiàn)元素較寬不能被完全展示時將其隱藏的方法

  發(fā)布時間:2017-12-29 09:41:45   作者:佚名   我要評論
最近做項目遇到這樣的需求,需要實現(xiàn)的樣式是固定寬度的容器里一排顯示若干個標(biāo)簽,數(shù)量不定,每個標(biāo)簽的長度也不定。下面小編給大家?guī)砹薈SS 實現(xiàn)元素較寬不能被完全展示時將其隱藏的方法,需要的朋友參考下吧

遇到一個需求,需要實現(xiàn)的樣式是固定寬度的容器里一排顯示若干個標(biāo)簽,數(shù)量不定,每個標(biāo)簽的長度也不定。當(dāng)?shù)搅四硞€標(biāo)簽不能被完全展示下時則不顯示。大致效果如下,標(biāo)簽只顯示一排,多了放不下了就不顯示了。
 

標(biāo)簽部分 DOM 結(jié)構(gòu)如下 

<div class="labels">  
    <span class="label">Cooking</span>
    <span class="label">Coding</span>
    <span class="label">Travel</span>
    <span class="label">Photography</span>
    <span class="label">Reading</span>
</div>

乍一看這個問題很簡單嘛,本著樣式問題盡量不用 js 解決的原則,寫了下面這堆樣式,完美實現(xiàn)效果??梢钥闯鰜碜詈髢蓚€ .label 由于會超出 .labels 的寬度,被折到了下一行,然后又被 .labels 的 overflow: hidden 隱藏。

.label {
    display: block;
    height: 24px;
    line-height: 24px;
    padding: 0 10px;
    background-color: #e1ecf4;
    border-radius: 12px;
    font-size: 14px;
    flex-shrink: 0; // label 不收縮,長度為內(nèi)容長度

    & + .label {
        margin-left: 5px;
    }
}

.labels {
    height: 24px; // 一行 label 的高度
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

但是剛高興沒多久,突然發(fā)現(xiàn)了問題,如果第一個標(biāo)簽的長度就超出了容器的寬度的話,并不會被整個隱藏,只是內(nèi)容被截斷了,像下面這樣
 

 

這個問題困擾了我好一陣時間,一直在想 css 里有什么屬性可以在子元素寬度超過父容器時把它整個隱藏(而非僅僅隱藏超出父容器的部分)。各種思索都沒有結(jié)果正準(zhǔn)備放棄萬分糾結(jié)到底用不用 js 實現(xiàn)時, 突然冒出來一個想法 既然現(xiàn)在被折行的元素可以被隱藏掉,那讓第一個標(biāo)簽也折行不就行了嘛 。

那么怎么讓第一個標(biāo)簽折行呢,想到一個比較 trick 的方法,讓它不再是第一個元素就可以利用 flex 的特性把它折行了~ 于是,在所有 .label 元素之前,添加了一個 .placeholder 元素只有 1px 寬,高度為 100%。 Inspect 元素的話可以看到確實 .placeholder 元素占據(jù)了第一行的位置,實現(xiàn)了我們想要的效果~

 

其實利用這個想法,使用 float 也可以實現(xiàn)同樣的效果。雖然有點 trick 并且還是借助了一個額外的 DOM 元素,不過效果還是完美實現(xiàn)了的~ 附上 codepen 鏈接供參考 https://codepen.io/Simona_Deng/pen/dJvvBR

總結(jié)

以上所述是小編給大家介紹的CSS 實現(xiàn)元素較寬不能被完全展示時將其隱藏,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • CSS :befor :after 偽元素的巧妙用法

    本篇重點介紹CSS中的:befor、:after創(chuàng)建的偽元素幾種使用場景,如填充文本、作為iconfont、進(jìn)度線、時間線以及幾何圖形,感興趣的朋友一起看看吧
    2018-02-07
  • 詳解CSS nth-child與nth-of-type的元素查找方式

    這篇文章主要介紹了詳解CSS nth-child與nth-of-type的元素查找方式的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-22
  • css判斷某元素的子元素個數(shù)并分別設(shè)置樣式的方法

    這篇文章主要介紹了css判斷某元素的子元素個數(shù)并分別設(shè)置樣式的方法的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-17
  • css3實現(xiàn)多個元素依次顯示效果

    在css3中,我們使用animation與keyframes結(jié)合,可以給元素添加各種各樣的動畫效果。這篇文章主要介紹了css3實現(xiàn)多個元素依次顯示效果,需要的朋友可以參考下
    2017-12-12
  • 單元素利用css實現(xiàn)多重邊框效果示例代碼

    邊框操作是每位前端工程師們經(jīng)常會遇到的,下面這篇文章主要給大家介紹了關(guān)于單元素如何利用css實現(xiàn)多重邊框效果的相關(guān)資料,文中通過示例代碼給大家詳細(xì)介紹了實現(xiàn)的過程
    2017-09-18
  • css3之UI元素狀態(tài)偽類選擇器實例演示

    這篇文章主要介紹了css3之UI元素狀態(tài)偽類選擇器 ,其中包括hover、active和focus,enabled,disabledread-only與read-write 等等,需要的朋友可以參考下
    2017-08-11
  • 利用CSS3偽元素實現(xiàn)逐漸發(fā)光的方格邊框

    這篇文章主要給大家介紹了利用CSS3偽元素實現(xiàn)逐漸發(fā)光的方格邊框的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來
    2017-05-07
  • css 獲取從第n個開始之后的所有元素

    這篇文章主要介紹了css 獲取從第n個開始之后的所有元素 ,需要的朋友可以參考下
    2018-11-21

最新評論