This page使我的徽标居中并缩小以适合浏览器窗口。它使用单个PNG文件和带有max-width/max-height
的CSS flexbox。 (View code)
This page为同一徽标设置动画。但是,为了将波纹效应限制为仅蓝色部分,需要进行一些更改(view code):
我无法弄清两件事:
我想我可以通过JavaScript来做到这一点,但是可以使用纯CSS / HTML解决方案吗? (我感觉居中和动态调整元素的位置为position:absolute不可能)。如果禁用JavaScript,则解决方案应正常运行(徽标的两个部分正确对齐;徽标适合浏览器窗口)。
答案 0 :(得分:1)
示例:https://jsfiddle.net/2rdjfwhb/1/
使用CSS可以实现这两种功能,只需要在“ logo”类周围使用另一个包装元素即可。该包装器元素可以自然地放置在flexbox内部。之后,只需计算徽标图像和波纹画布所需的比例即可。
.parent {
max-height: 100%;
max-width: 100%;
}
.logo {
width: 100%;
height: 100%;
position: relative; /* Parent handles centering this guy now */
}
.logo-ligature {
width: 100%;
height: 100%;
position: relative; /* Positioned for z-index */
pointer-events: none;
}
.logo-background {
background-image: url(https://cdn.glitch.com/b2cea96d-c2a3-486e-90d5-f60a651a36e3%2Fle_square_light_noborder.png?1553791477453);
background-size: contain;
background-position: center; /* Center the image */
background-repeat: no-repeat; /* Do not repeat the image */
width: 75%;
height: 75%;
position: absolute;
top: 12.5%;
left: 12.5%;
}