国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

flex布局遇到white-space:nowrap怎么超出一行顯示省略號

tylin / 3316人閱讀

摘要:后兩個屬性可選,該屬性有兩個快捷值和。屬性定義了項目的縮小壓縮比例,默認(rèn)為,即如果空間不足,該項目將縮小。屬性定義了在分配多余空間之前,項目占據(jù)的主軸空間。當(dāng)我們設(shè)置,項目控件由于不能計算多余的空間導(dǎo)致無法收縮了。

寫在最前:當(dāng)flex遇到white-space:nowrap,你知道怎么破局嗎?切圖帶你分析原理,三個方案任意選擇!

一、場景:

二、簡化場景:

三、頁面布局:
  • 英短貫徹愛與真實的邪惡,可愛又迷人的反派角色!
四、問題樣式:
.g-list-item {
    position: relative;
    display: flex;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #eee;
}
.item-content-wrap {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
}
.item-content-wrap  .item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
五、解決方法: 方案1:

①原理:
flex屬性是flex-grow, flex-shrinkflex-basis的簡寫,默認(rèn)值為0 1 auto。后兩個屬性可選,
該屬性有兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)。

.item {
  flex: none | [ <"flex-grow"> <"flex-shrink">? || <"flex-basis"> ]
}

flex-grow屬性定義項目的放大(拉伸)比例,默認(rèn)為0,即如果存在剩余空間,也不放大。
flex-shrink屬性定義了項目的縮小(壓縮)比例,默認(rèn)為1,即如果空間不足,該項目將縮小。
flex-basis屬性定義了在分配多余空間之前,項目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計算主軸是否有多余空間。它的默認(rèn)值為auto,即項目的本來大小。

當(dāng)我們設(shè)置white-space:nowrap,項目控件由于不能計算多余的空間導(dǎo)致無法收縮了。此時我們設(shè)置固定尺寸就可以收縮了

②代碼:

.g-list .item-content-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
 +  min-width: 0;
}
.g-list .item-content-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
 +  overflow:hidden;
}

給文字.item-title的父級設(shè)置寬度,通過 min-width、max-width、width屬性都可以設(shè)置,但因為文字的長度不定設(shè)置width或者max-width都有可能遮住有效區(qū)域,所以建議使用min-width: 0比較符合;除此之外通過overflow: hidden使得父元素變?yōu)锽FC也能達(dá)到同樣的效果

 min-width: 0;
 min-width: 300px;
 max-width: 300px;
 width: 300px;
 overflow: hidden;
方案2:

①原理:
其實導(dǎo)致這種情況發(fā)生的不是父級item-content-wrap的flex,而是爺級g-list-item的flex,如果我們布局是上下結(jié)構(gòu),可以去掉爺級的display: flex達(dá)到相應(yīng)效果
②代碼:

.g-list-item {
    position: relative;
  — display: flex;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #eee;
}
方案3:

①原理:
利用樣式達(dá)到超出一行顯示省略號不僅僅是使用white-space:nowrap屬性,我們還可以使用以下屬性來達(dá)到效果,而且通過 -webkit-line-clamp可以來設(shè)計幾行才出現(xiàn)省略號的情況。但由于存在兼容問題建議移動端使用

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical; 

②代碼:

.item-content-wrap  .item-title {
    overflow: hidden;
 —  text-overflow: ellipsis;
 —  white-space: nowrap;
 +  display: -webkit-box;
 +  -webkit-line-clamp: 1;
 +  -webkit-box-orient: vertical; 
}
尊重原創(chuàng),如需轉(zhuǎn)載請注明出處!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/116225.html

相關(guān)文章

  • flex布局被子元素?fù)伍_,如何保持內(nèi)容不超出容器

    摘要:而且因為設(shè)置了會發(fā)現(xiàn)文字會將撐開,導(dǎo)致內(nèi)容超出了屏幕。嘗試取消父元素的,無效。因此猜測是布局的問題,進(jìn)一步猜測省略符需要對父元素限定寬度。 移動端里面,flex 布局很好用,它能夠根據(jù)設(shè)備寬度來自動調(diào)整容器的寬度,但是最近在做項目的時候發(fā)現(xiàn)一個問題: 一個li里面設(shè)置了flex,flex: 0 0 33.333%,然后想讓子元素里面的文字超出flex定義寬度后自動省略。 ...

    hearaway 評論0 收藏0
  • 巧用flex布局實現(xiàn)左側(cè)文字溢出省略,右側(cè)文字自適應(yīng)。

    摘要:想要實現(xiàn)一個左側(cè)文字可以根據(jù)文字長短自動調(diào)整寬度,當(dāng)一行顯示不下時,不擠壓右側(cè)文字空間,左側(cè)文字溢出省略。設(shè)計需求總結(jié)左側(cè)寬度自動增長,右側(cè)寬度自動增長并且不可溢出省略。當(dāng)左側(cè)文字長度超出的時候,左側(cè)文字溢出省略。 想要實現(xiàn)一個左側(cè)文字可以根據(jù)文字長短自動調(diào)整寬度,當(dāng)一行顯示不下時,不擠壓右側(cè)文字空間,左側(cè)文字溢出省略。同理當(dāng)右側(cè)文字變長的時候,右側(cè)文字全顯示,左側(cè)文字被擠壓后溢出省略...

    Lycheeee 評論0 收藏0
  • CSS處理文本過長或超出部分(解說一)

    摘要:在網(wǎng)頁開發(fā)中,經(jīng)常會遇到文本超出了限定的范圍,尤其是屏幕尺寸的大小導(dǎo)致的,著實影響美觀,這個時候,就需要用對其進(jìn)行處理。再補(bǔ)充一條,比如想讓內(nèi)容在第二行的時候,超出部分隱藏這個處理方式的目前只兼容內(nèi)核的瀏覽器其他方法見解說二 在網(wǎng)頁開發(fā)中,經(jīng)常會遇到文本超出了限定的范圍,尤其是屏幕尺寸的大小導(dǎo)致的,著實影響美觀,這個時候,就需要用css對其進(jìn)行處理。 下面的方法是我在實際工作中總結(jié)...

    Bamboy 評論0 收藏0
  • 移動端樣式小技巧

    摘要:平時在移動端開發(fā)拼頁面的過程中總會遇到一些問題,主要是各手機(jī)樣式顯示效果不一致造成的。五左右寬度自適應(yīng)第四個小技巧結(jié)尾,圖中的布局實際上是分左右兩塊的,依照的需求,文案是要左對齊,數(shù)字是要右對齊的。 平時在移動端開發(fā)拼頁面的過程中總會遇到一些問題,主要是各手機(jī)webview樣式顯示效果不一致造成的。以下總結(jié)了一些常見坑和一些小技巧,希望對看官有所幫助! 本文只針對兩大手機(jī)陣營 Andr...

    iOS122 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<