用CSS的min() max() 與vw,設計有極限值的RWD響應式文字
文章推薦指數: 80 %
在編寫CSS 的時候,你可能習慣將網頁上的字體大小(font-size) ... 而使用viewport width (vw) 當作字體大小的單位,就可以讓字體自動隨著視窗寬度的 ...
跳到主要內容
用CSS的min()max()與vw,設計有極限值的RWD響應式文字
取得連結
Facebook
Twitter
Pinterest
以電子郵件傳送
其他應用程式
作者:
cjzopen
-
2月05,2021
你是否有想過,能不能單靠CSS設計出會自動調整大小的ResponsiveFontSize?答案是可以的!
vw基本運用
極限問題
MediaQuery
max()、min()
Ifyoujustwantthebestsolution.plsclickthefourthitemofthelist(max()、min()).
為何使用vw?
在編寫CSS的時候,你可能習慣將網頁上的字體大小(font-size)使用rem、em、px等單位設定,但在講究RWD的情況下,甚至是GoogleSEO著重在手機介面的現在,總是會遇到桌機看起來很舒適,但畫面一變小,標題類的字就又太佔版面。
而使用viewportwidth(vw)當作字體大小的單位,就可以讓字體自動隨著視窗寬度的不同改變其大小。
各瀏覽器支援vw的情況
vw基本運用:
vw是視窗寬度的百分比,所以1vw=1%的視窗寬度。
舉例來說,當視窗寬度為1000px且font-size:1.5vw的時候,字體的大小就是1000*1.5%=15px。
h1,.h1{
font-size:1.5vw;
}
除了直接運用之外,也能搭配calc使用:
h1,.h1{
font-size:calc(10px+1.5vw);
}
極限問題(maxorminfontsize)
這是不管設計什麼東西都存在且必需要考慮的事情,vw也不例外。
設計網頁一定會設一個網頁寬度,以此寬度設定做為最大值;而人的視力有限,以16px當作最小值。
所以,當視窗被拉到極大或極小的時候,以vw為單位的字體勢必會變成你不想要的樣子,這時候我們就必需設定最大值和最小值,讓字體在合理的區間變動,而mediaquery和min()、max()就出現在解決辦法的清單之中:
MediaQuery
下面為使用的例子:
h1,.h1{
font-size:3.5vw;
}
@media(min-width:1600px){
h1,.h1{
font-size:40px;
}
}
@media(max-width:480px){
h1,.h1{
font-size:16px;
}
}
這樣子設定就能避免字體過大或過小,造成使用者體驗不佳的情況。
進階設定:使用max()min()
用mediaquery確實解決了問題,但實在是太麻煩了,光一個設定就多寫好幾行字,不如直接使用別的CSS語法min()、max()。
以下面的原始碼為例:
h1,.h1{
font-size:24px;
font-size:min(max(3.5vw,16px),40px);
}
第一個font-size是確保瀏覽器(IE)不支援的話,還有一個基本設定。
而第二個font-size的意思是字體大小3.5vw、最小值16px、最大值40px。
是不是比使用mediaquery解決還乾淨多了?各瀏覽器支援clamp(),min(),max()的情況Sass與SCSS若平常習慣用Sass或SCSS編寫的話,要注意不能直接寫min或max,必需額外使用#{}把單字區隔開,否則會出現錯誤宣告。
h1,.h1{
font-size:m#{i}n(m#{a}x(9vw,2.5rem),5rem);
}
這樣子的設定用了好一段時間,並沒有碰到什麼問題。
而不使用clamp()是我自己本身的習慣,畢竟利用min()和max()就能達到一樣的效果。
另外還要注意,chrome呈現的最小字體是12px,就算CSS設定8px也沒有用喔。
css
max
min
responsive
rwd
vw
取得連結
Facebook
Twitter
Pinterest
以電子郵件傳送
其他應用程式
留言
這個網誌中的熱門文章
運用資料層dataLayer.push建立GTM自訂事件
作者:
cjzopen
-
12月05,2017
GTM(GoogleTagManager;網頁代碼管理工具)最大的好處在於讓頁面較整潔、許多系統已經寫好的事件與變數可以直接拿來用,非常方便。
但現實往往沒那麼簡單,通常都會遇到一堆ajax、history或cache要處理,這時候就要請到自訂事件出馬了。
若只用GA,沒有使用GTM的話,自訂事件要這樣寫:gtag('event',...,{'event_category':...,'event_label':...});那如果用GTM的話該如何操作呢?若使用的是GA4,可以參考【GA4基本設定:內部IP、GTM自訂事件、跨網域設定】。
另外,GA3於2023年7月1日停用。
將資料push進dataLayer首先我們要知道什麼是dataLayer:一個GTM內部的全域變數,它能動態存取網頁的使用者行為數據。
更進一步探索它的 JSON 架構,可以在網頁上使用開發者工具(F12)的console欄,輸入dataLayer,其實跟它的名字一樣就是層層分明的資料層(DataLayer)。
在F12中查看dataLayer你會發現GTM測試欄位左邊有幾個事件,dataLayer裡面就有幾個object。
再把object點開(這裡以WindowLoaded為例),會有event和GTM給的事件id,而這個事件(gtm_load)其實就是「觸發條件」裡的「視窗已載入」。
因此,我們可以依樣畫葫蘆用dataLayer.push自己寫一段觸發條件把資料送進dataLayer,就可以在GTM裡面操作了:開始設定自訂事件先宣告dataLayer,避免發生undefinederror再設定你要push進去的數據這裡我們用「nava點擊偵測」和ajax事件舉例(jQuery):vardataLayer=window.dataLayer||[];//example1:detectnavatagclick$('nava').click(function
READTHIS»
網頁標題在Google搜尋結果會被如何更改?SEO是否會被影響?
作者:
cjzopen
-
8月25,2021
有些網頁在SERP的標題
根據Google公開的說明頁面和他們之後提供的補充說明可以得知,他們確實在8月16日推出了新的網頁標題生成系統,並會從該網頁的主視覺標題、一般標題、h1或h2h3之類的標籤內容,或者使用樣式而變得大而突出的內容,進而產生新的網頁標題文案。
更甚者,可能還會參考頁面中的其他文字、使用指向該頁面連結中的文字,或是自己改年份加項次來「改善」該頁面原本的標題。
但實際上改變不止侷限於Google公開的方式,還包含直接截短、刪除句中的某些關鍵字。
用這個網誌來舉例的話,〈簡單理解LCP、FID、CLS三個網站使用體驗核心指標是什麼、對SEO的影響、改善案例〉這篇的標題因為太長了,便會被Google截短只剩下〈簡單理解LCP、FID、CLS三個網站使用體驗核心指標是什麼〉。
所以,我們可以簡單歸納出原本和現今的標題改動方式:在前面或後面加上品牌名。
直接截斷。
截取網頁內容資訊(通常是大標)。
增加搜尋相關關鍵字在標題中。
刪除不必要的關鍵字或行銷術語後重新排列。
改年份或加項次(第1季第2季)來區別重覆標題。
使用指向該頁面連結中的文字(極少)。
上述情況有時候會同時出現。
順帶一提,Google認定「品牌名」的方式,經過我自己的實驗是和首頁的title大有關聯,另外還會參考各網頁title像產品名的重覆字詞。
而title整體太長的話,除了常見的「...」結尾之外,也可能會直接把品牌名刪除;而比較特別在結尾有「雙品牌」的標題,也見過其中一個品牌名被移到最前面的情況。
所以請小心命名,避免關鍵字被當成品牌名的一部分而遭Google刪改或移動。
另外,Google對於品牌名的區隔符號比較偏好「-」而不是「|」,括號也有高機率會被 READTHIS» 關於本網站 Unknown Unknown cjzopen 所有文章 六月1 三月1 一月1 十二月1 十一月3 九月1 八月1 三月1 二月2 一月1 十一月1 十月4 七月2 六月1 五月3 四月1 一月2 六月1 一月1 七月1 六月2 三月1 十二月4 六月2 二月3 顯示更多 顯示較少 標籤 精選摘要 browser chrome css Favicon ga GoogleSERP GSC gtm hash HTML jQuery js max min responsive rwd scroll sef seo SERP svg URL ux vw 顯示更多 顯示較少
延伸文章資訊
- 1[教學] 透過CSS讓文字支援RWD隨著裝置自行縮放文字大小
Step1 首先,先在html中,建立文字區塊,這邊梅干分別,建立二組文字區塊,一個是套用,另一個是未套用。 · Step2 接著在CSS的地方,分別加入CSS的設定,當 ...
- 2用CSS的min() max() 與vw,設計有極限值的RWD響應式文字
在編寫CSS 的時候,你可能習慣將網頁上的字體大小(font-size) ... 而使用viewport width (vw) 當作字體大小的單位,就可以讓字體自動隨著視窗寬度的 ...
- 3html 字體大小自動
所有常用的主流瀏覽器都支援HTML font size 的功能。. HTML font size 功能在CSS 設計領域的替代語法是: CSS 透過font-size 屬性設定文字大小。. HT...
- 4讓RWD 網頁的文字(font-size)能自適應調整大小﹍極佳解決方案 ...
因此標題文字不是單純地設定不同的大小尺寸,就能解決版面問題。 比較常見的作法是使用CSS 省略號語法ellipsis,詳細作法可參考「讓標題過長的文字自動 ...
- 5RWD---[ 響應式網站( 五) ]---無用小觀念 - iT 邦幫忙
設計響應式網站時,請以相對比例的方式來設定文字尺寸,這樣字型大小才會根據視埠大小自動調整。 盡量不要以像素大小來設定文字尺寸,因為像素的數量會因為不同的裝置 ...