解决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>
如果你有好的解决方案。欢迎给我留言!

时间: 2024-08-09 07:19:22

解决Chrome谷歌浏览器不支持CSS设置小于12px的文字的相关文章

Chrome谷歌浏览器下不支持css字体小于12px的解决办法

先来看下 ie.火狐.谷歌浏览器下各个字体显示情况 ie下: 火狐下: 谷歌下: 从上面的图可以很明显看出谷歌下 css设置字体大小为12px及以下时,显示都是一样大小,都是默认12px; 那么网上一直有一个方法就是给当前样式添加谷歌私有属性:-webkit-text-size-adjust:none; 可是我进行验证后发现,在谷歌现在的新版本里已经无效.那么我们应该如何设置谷歌下的字体呢? 我们可以使用到 css3里的一个属性:transform:scale() 属性介绍可以戳这里:http:

Chrome不支持css字体小于12px的解决办法

我们先来看个效果图(chrome下): 从上面的图可以很明显地看出Chrome下css设置字体大小为12px及以下时,显示的都是一样大小,都是默认12px: 那么网上有一个方法就是给当前样式添加Chrome私有属性:-webkit-text-size-adjust:none; 可是我进行验证后发现并无效果.后来查资料了解到在Chrome 27之后就取消了对这个属性的支持,那么我们应该如何设置Chrome下的字体呢? 可以利用css3的缩放属性:transform:scale() .small-f

解决CSS小于12px的文字在谷歌浏览器显示问题

做前端设计的人经常要接触CSS方面的问题,估计有不少人会遇到Chrome谷歌浏览器中CSS设置字体小于12px显示不正常,强创网络在做magento模板过程中就遇到了,起初以为是自己写的CSS的问题,后面一步步排查出来,在Chrome谷歌浏览器中确实不支持CSS设置字体小于12px,那我们要如何解决Chrome谷歌浏览器不支持CSS小于12px文字的问题呢? 今天强创网络来讲下具体方法.Chrome谷歌浏览器是Webkit的内核,有一个 -webkit-text-size-adjust 的私有

如何在谷歌浏览器下设置小于12px的字体

如果在谷歌浏览器下设置小于12px的字体:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在谷歌浏览器有一个由来已久的问题,那就是无法设置小于12px字体,就算是设置了小于12px的字体也只会显示12px大小.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="ht

怎么让Chrome支持小于12px 的文字

1.用图片:如果是内容固定不变情况下,使用将小于 12px 文字内容切出做图片,这样不影响兼容也不影响美观. 2.使用 12px 及 12px 以上字体大小:为了兼容各大主流浏览器,建议设计美工图时候设置大于或等于 12px 的字体大小,如果是接单的这个时候就需要给客户讲解小于12px 浏览器不兼容等事宜. 3.继续使用小于 12px 字体大小样式设置:如果不考虑 chrome 可以不用考虑兼容,同时在设置小于 12px 对象设置-webkit-text-size-adjust:none,做到最

设置小于12px的字体

.small-font{   font-size:12px;             -webkit-transform-origin-x: 0;            -webkit-transform: scale(0.90);        } .smallsize-font {  font-size:10.8px;         } <p style="color: #FF0000;" class="small-font smallsize-font"

【css】怎么让Chrome支持小于12px 的文字

谷歌浏览器Chrome是Webkit的内核,有一个 -webkit-text-size-adjust 的私有 CSS 属性,通过它即可实现字体大小不随终端设备或浏览器影响.CSS样式定义如下:-webkit-text-size-adjust:none; 但是在最新版的谷歌里.已经不在支持这个属性啦,需要通过css3的transform来解决,方法如下: css部分 html布局 body,p{ margin:0; padding:0;}p{font-size:10px;}span{-webkit

如何在Chrome谷歌浏览器下设置小于12px的字体

<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>title</title><style type="text/css">ul{  list-style:no

解决css设置背景透明,文字不透明

设置元素的透明度: -moz-opacity:0.8; /*在Firefox中设置元素透明度 filter: alpha(opacity=80); /*ie使用滤镜设置透明 但是当我们对一个标签设置背景的透明度时,往往我们并不希望该标签上的文字图片也变成半透明了. 例如: <div><p>不透明</p></div> div{-moz-opacity:0.3;filter:alpha(opacity=30);background:#000;width:500p