我想根据媒体查询调整图片大小。如果这只是一个图像,我会将一个CSS类附加到图像并覆盖它以获得不同的屏幕分辨率。
事实上,图像实际上是 fontawesome icons 。这是一个例子:http://fortawesome.github.io/Font-Awesome/examples/
<i class="fa fa-camera-retro fa-lg"></i> fa-lg
<i class="fa fa-camera-retro fa-2x"></i> fa-2x
<i class="fa fa-camera-retro fa-3x"></i> fa-3x
<i class="fa fa-camera-retro fa-4x"></i> fa-4x
<i class="fa fa-camera-retro fa-5x"></i> fa-5x
fa-lg,fa-2x,fa-3x等是应用不同大小的CSS类。在此处执行响应式方法的最佳方法是什么 - 根据屏幕大小更改图标大小?我不想修改第三方lib(字体真棒)本身。似乎更改屏幕分辨率应该用另一个类替换...
答案 0 :(得分:1)
fa-lg
与fa-5x
的图标相同,只是调整了大小。因此,对于您的媒体查询,只需使用普通的font-size:
方法将图标调整为您喜欢的任何尺寸。
我通常使用before:
字体FontAwesome
使用他们的unicode,如此处所示; http://fortawesome.github.io/Font-Awesome/icon/camera-retro/ unicode:f083
.aside .cat_title:before {
content: "\f083";
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
text-decoration: inherit;
font-size: 32px;
padding-right: 3px;
color: #FC0;
}
@media only screen
and (max-width : 320px) {
.aside .cat_title:before {
content: "\f083";
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
text-decoration: inherit;
font-size: 10px;
padding-right: 3px;
color: #FC0;
}
}
然后再次针对每个媒体查询等。
答案 1 :(得分:0)
基于@ Anima-t3d的建议,我制作了一个完全符合我需求的javascript /媒体查询解决方案:
var mql = window.matchMedia("(min-width: 600px)");
mql.addListener(handleResolutionChange);
handleResolutionChange(mql);
function handleResolutionChange(mql) {
if (mql.matches) {
$('.fa').removeClass('fa-2x');
} else {
$('.fa').addClass('fa-2x');
}
}
有一个监听器可以监视屏幕分辨率,并添加或删除内置于 fontawesome 中的CSS类。详情请见:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Testing_media_queries