解決Chrome谷歌瀏覽器不支持CSS設置小於12px的文字


在最新版的谷歌里。已經不在支持這個屬性啦

谷歌瀏覽器Chrome是Webkit的內核,有一個 -webkit-text-size-adjust 的私有 CSS 屬性,通過它即
可實現字體大小不隨終端設備或瀏覽器影響。
CSS樣式定義如下:
-webkit-text-size-adjust:none;


如何讓谷歌瀏覽器支持小於12px的字體



經常與網頁打交道的攻城師,應該都知道。谷歌不支持小於12px的字體。
網頁解決方案很多。
比如。修改瀏覽器配置。修改瀏覽器語言。
但作為一個WEB,我們無法修改用戶的瀏覽器。這時候就出現了
1
webkit的私有屬性:
2
html{-webkit-text-size-adjust:none;}
但是,在最新版的谷歌里。已經不在支持這個屬性啦。所以。這個屬性。。。。
已經和我們說再見啦~

CSS3有個新的屬性transform
而我們用到的就是transform:scale()

書寫一段代碼
1
<body>
2
<p>我是一個小於12PX的字體</p>
3
</body>
定義樣式
1
body,p{ margin:0; padding:0}
2
p{font-size:10px;}
放在瀏覽器預覽。會發現最新版谷歌已經不在支持。還是12px
所以我們就用到了
1
-webkit-transform:scale(0.8); //0.8位縮放倍數,具體自己根據實際需求修改
修改后樣式為
1
body,p{ margin:0; padding:0}
2
p{font-size:10px;-webkit-transform:scale(0.8);}
但是,如果,這個屬性會把真個p的屬性都縮放。如果我有背景呢?我有邊框呢?都會被縮小!
所以我們修改結構為
1
<p><span>我是一個小於12PX的字體</span></p>
定義樣式為
1
body,p{ margin:0; padding:0}
2
p{font-size:10px;}
3
span{-webkit-transform:scale(0.8);}
但是你會驚訝發現,不可以。實際上,是以為-webkit-transform:scale(0.8);只能縮放可以定義寬高
的元素,而span是行內元素,不可以
我們修改為
1
body,p{ margin:0; padding:0}
2
p{font-size:10px;}
3
span{-webkit-transform:scale(0.8); display:inline-block}
為什么定義 display:inline-block而不是 display:block?
轉為block就獨占一行啦。如果我后面緊追怎么辦元素。所以轉換為inline-block

放在谷歌瀏覽器里,運行一下會發現支持字體變小啦~~放心啦。。。

但是你會發現。會存在一定的邊距。貌似margin或者padding的間距。這就是縮放存在問題。原來的位
置還占有12px字體的大小。
所以,要對應修改margin了。定義為負的。。


其實還沒結束~~~


你以為這樣就結束了嗎?
NO,我們還需要去兼容opera!!!
為什么?opera現在最新版也是webkit內核啦~~~苦逼的工程師呀~
但是新版本的opera呢?
本來就是10px的字體了。然后在縮放,不敢想象了!
所以我們要修改樣式為
1
body,p{ margin:0; padding:0}
2
p{font-size:10px;}
3
span{-webkit-transform:scale(0.8);-o-transform:scale(1); display:inline-block}
讓opera的不縮放。

放心opera還是支持他的私有前綴的。


現在我們代碼就是這樣啦!
01
<!doctype html>
02
<html>
03
<head>
04
<meta charset="utf-8">
05
<title>無標題文檔</title>
06
<style>
07
body,p{ margin:0; padding:0}
08
p{font-size:8px;}
09
span{-webkit-transform:scale(0.8);-o-transform:scale(1); display:inline-block}
10
</style>
11
</head>
12

13
<body>
14
<p><span>我是一個小於12PX的字體</span></p>
15
</body>
16
</html>

為了方便,我們最好定義為一個類,方便我們每次調用

修改為
01
<!doctype html>
02
<html>
03
<head>
04
<meta charset="utf-8">
05
<title>無標題文檔</title>
06
<style>
07
body,p{ margin:0; padding:0}
08
p{font-size:8px;}
09
.shrink{-webkit-transform:scale(0.8);-o-transform:scale(1); display:inline-block}
10
</style>
11
</head>
12

13
<body>
14
<p><span class="shrink">我是一個小於12PX的字體</span></p>
15
</body>
16
</html>
如果你有好的解決方案。歡迎給我留言!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM