LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

css實(shí)現(xiàn)文字大小自適應(yīng)

admin
2023年8月24日 21:58 本文熱度 1525

在頁面編寫中經(jīng)常會(huì)碰到頁面自適應(yīng)的問題,也就是頁面內(nèi)部的元素會(huì)隨著窗口的放大縮小而放大縮小,box可以通過calc + 百分比的形式做到頁面自適應(yīng),但是box內(nèi)的字體卻無法做到這點(diǎn),往往box自適應(yīng)大小了,內(nèi)部的字體還是原來的大小,看起來會(huì)非常別扭,下面就來css實(shí)現(xiàn)一下頁面文字的自適應(yīng)大小。

clamp()函數(shù)

這里主要用到clamp()函數(shù),clamp() 函數(shù)的作用是把一個(gè)值限制在一個(gè)上限和下限之間,當(dāng)這個(gè)值超過最小值和最大值的范圍時(shí),在最小值和最大值之間選擇一個(gè)值使用。它接收三個(gè)參數(shù):最小值、首選值、最大值。
當(dāng)首選值比最小值要小時(shí),則使用最小值。
當(dāng)首選值介于最小值和最大值之間時(shí),用首選值。
當(dāng)首選值比最大值要大時(shí),則使用最大值。

clamp()的文檔:https://developer.mozilla.org/zh-CN/docs/Web/CSS/clamp

我們可以通過在clamp()內(nèi)設(shè)置表達(dá)式,來動(dòng)態(tài)的設(shè)置文字的大小,比如這里有一個(gè)視口,最小320px,最大1200px,當(dāng)視口小于320px的時(shí)候字體大小為0.7rem,當(dāng)視口大小大于1200px的時(shí)候,字體大小為1.2rem,否則就使用區(qū)間的首選值。

.clampSize{

    width: 100%; /* 可以動(dòng)態(tài)設(shè)置大小 */

    height: 40px;

    margin: 30px;

    line-height: 40px;

    text-align: center;

    border: 1px solid red;

    font-size:clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem);  /* 通過動(dòng)態(tài)計(jì)算首選值實(shí)現(xiàn)響應(yīng)式字體變化 */

}


有人說這個(gè)值我不知道該設(shè)置多大,那么你可以用這個(gè)網(wǎng)站:https://min-max-calculator.9elements.com/

左邊是你的參數(shù)范圍,右邊是你的視口大小,還是非常方便的啦~

實(shí)現(xiàn)了這個(gè)之后,我們就可以開始著手實(shí)現(xiàn)響應(yīng)式布局的文字大小自適應(yīng)了,下面案例中,視口最小320px,最大1200px,文字取值最小0.7rem,最大1.2rem,否則取首選值。

<div class="useClamp">

     <div>女裝</div>

     <div>童鞋</div>

     <div>箱包</div>

     <div>首飾掛件</div>

</div>

.useClamp{

    width: 80%; /*容器大小自適應(yīng)*/

    height: 30px;

    padding-left: 10px;

    display: flex;

    align-items: center;

    direction: ltr;

    background: #eee;

    >div{

        min-width: 60px;

        width: 30%;  /*按鈕大小自適應(yīng)*/

        height: 30px;

        background: #4d90fe;

        color: white;

        display: flex;

        align-items: center;

        justify-content: space-around;

        border-radius: 4px;

        margin-inline-end: 10px;

        font-size: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem);  /*文字大小自適應(yīng),最小0.7rem,最大1.2rem,否則取首選值*/

    }

}


推薦內(nèi)容

大小的上下限制

min()函數(shù)

當(dāng)我們想要給box設(shè)置一個(gè)寬度,最小為屏幕的80%,最大為1000px,通常會(huì)這么寫:

.box{

width: 80%;

max-width: 1000px;

}

這種寫法可以實(shí)現(xiàn)容器的最大和最小的寬度限制,有了min()函數(shù)后,可以一句css聲明即可實(shí)現(xiàn)。

min() 方法擁有一個(gè)或多個(gè)逗號分隔符表達(dá)式作為參數(shù),表達(dá)式的值中最小的值作為參數(shù)值。
語法:min(expression [, expression])
其實(shí)就是設(shè)置最小值為最大值,我們來看一個(gè)案例:

.minSize{

    width:min(80%,1000px ); /* 可以動(dòng)態(tài)設(shè)置大小,屏幕寬度大于1000px則寬度為1000px(因?yàn)?000比80%小),小于1000px則寬度為80%(此時(shí)80%比1000小)*/

    height: 40px;

    border: 1px solid red;

}


這里 width:min(100%,1024px );就是說:屏幕寬度大于1000px則寬度為1000px(因?yàn)?code class="hljs language-yaml" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none; box-sizing: border-box; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif, SimHei, SimSun; font-size: 1em; margin: 0px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: rgb(171, 178, 191); background: rgb(40, 44, 52); border-radius: 4px; display: inline-block;">100080%小),小于1000px則寬度為80%(此時(shí)80%1000小)。

注意:min()函數(shù)參數(shù)需要百分比值,如果是固定px值將會(huì)失效。


max()函數(shù)

max()函數(shù)其實(shí)和min()函是數(shù)一樣的效果,只不過這里取的是最大值為最小值

.maxSize{

    width:max(90%,1024px); /* max()函數(shù)和min()函數(shù)語法類似,區(qū)別在于max()函數(shù)返回的

    是最大值,min()函數(shù)返回的是最小值。 可以動(dòng)態(tài)設(shè)置大小,屏幕寬度90%大于1024px則用90%,若屏幕寬度90%小于1024px則用2014px*/

    height: 40px;

    border: 1px solid red;

    margin-top: 40px;

}

width:max(90%,1024px);的意思是:屏幕寬度90%大于1024px則用90%,若屏幕寬度90%小于1024px則用2014px


該文章在 2023/8/24 22:06:56 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
午夜视频在线观看亚洲天堂 | 亚洲午夜福利在线观看 | 婷婷激情五月天在线视频 | 亚洲一区欧美国产 | 亚洲人成网站综合 | 中文字幕在线观看久热 |