对于那些希望通过CMS或Javascript自动执行此操作的人,我想到了一个简短的公式,该公式可以吸收大多数徽标的大小,并使它们在视觉上保持一致。
这是Java语言:
(function() {
"use strict";
window.onload = function() {
var images = document.querySelectorAll(".media-images.media-images--config-dynamic .media-images__image");
function adjustImageWidth(image) {
var widthBase = 50;
var scaleFactor = 0.525;
var imageRatio = image.naturalWidth / image.naturalHeight;
image.width = Math.pow(imageRatio, scaleFactor) * widthBase;
}
images.forEach(adjustImageWidth);
};
}());
然后,您可以将它们网格化,并使用CSS对它们进行任何处理。
这是一个可使用的Codepen:https ://codepen.io/danpaquette/pen/jXpbQK
以及有关其运行情况的详细记录:https : //danpaquette.net/read/automatically-resizing-a-list-of-icons-or-logos-so-theyre-visually-proportional/