【发布时间】:2016-10-15 10:46:14
【问题描述】:
我有一个关于更改所有font-sizes 的问题。
我设计了一个响应式网页,字体如下:
font-family:Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif;
为了做出响应,对字体样式属性做了很多媒体查询。
#menu li{
font-size:12px;
}
@media only screen and (min-width: 768px) {
#menu li{
font-size:14px;
}
}
@media only screen and (min-width: 1000px) {
#menu li{
font-size:16px;
}
}
@media only screen and (min-width: 1300px) {
#menu li{
font-size:17px;
}
}
我的网站中有很多这样的类,如果我更改字体系列,那么很难在所有媒体查询中修改所有这些类。 我改变了字体系列:
font-family: 'Merriweather', serif;
字体来源是:
<link href='https://fonts.googleapis.com/css?family=Merriweather:300' rel='stylesheet' type='text/css'>
所以它是最轻的字体,不幸的是 16px 大于 Cambria 字体的 16px。
我有一个可以将字体缩放 0.9 的 jQuery 解决方案:
$(document).ready(function(){
$('*').each(function({
$(this).css('fontSize',$(this).css('fontSize').split('px')[0]*0.9);
})
})
但问题是代码会干扰对调整大小事件的响应。那么是否有人为此提供纯CSS解决方案。非常感谢你的帮助。
【问题讨论】:
-
我会说这可能不是一件容易的事情,但是您应该尝试使用 less 或 sass 预编译器并将所有这些设置设置在变量中。目前,这个问题没有简单的解决方案,如果您希望它正常工作,除了可能对所有实例进行搜索和替换之外。
-
为什么不以
rem或em而不是像素为基础。
标签: javascript jquery css fonts font-size