請注意,我並不是要求根據視口的大小縮放字體 - 我的問題是不同的。根據內容(CSS或JS)縮放字體大小
我的HTML/CSS/JS應用程序基本上向用戶呈現一個狀態圖。屏幕上顯示一些消息,並帶有多個按鈕。按下每個按鈕會導致不同的屏幕 - 如此等等 - 確實是非常簡單的概念。
作爲每個按鈕的每個屏幕的文本來自數據庫。
設計是這樣的,按鈕尺寸是固定的(我沒有任何控制它)。它們足夠大以適應應用程序可能遇到的任何事情 - 使用英語。
最近,我需要添加斯瓦希里語支持 - 突然之間有2個單詞,15個英語字符變成了5個單詞,並且在斯瓦希里語中有近50個字符 - 並且它不適合按鈕。這是相當糟糕的 - 但只有少數這樣長的按鈕標籤。不幸的是,由於它們是動態的(來自數據庫),我無法預測它會是什麼。
我可以做的事情是減少字體大小以適應按鈕內的文本。使用vw
,vh
等單位不會工作,因爲無論視口大小如何,都應將文本縮放爲固定大小的按鈕。
我想不出任何純CSS的解決方案。我可以考慮一些解決這個問題的JS(例如放置文本,然後繼續縮小它直到它適合 - 雖然我不太確定如何確定它適合)。
我只是不能完全弄清楚這一點。有任何想法嗎?我對CSS3和HTML5感到滿意,只需要它就可以在最新版本的Chrome和Safari中使用。
,如果你可以把文本轉換成SVG元素 - https://css-tricks.com/svg-text-typographic-designs/ – Aprillion
@ 4億美元嗯,有趣的想法。不幸的是,SVG不支持自動換行。現在按鈕允許最多3行文本,自動換行,垂直居中和水平居中。 –
你是否適合使用虛擬元素進行計算? (如果你是我可能有一個解決方案) – treyhakanson