你怀疑的方向我觉得大概率是对的。容器固定高度加cover模式,这在电脑端宽度够宽所以看不出问题,一到手机屏幕变窄,图片为了保证铺满容器,左右两边被裁掉就很常见了。我自己之前做产品图也踩过类似的坑,调了半天尺寸和边距,结果问题根本不在那。
先别急着写CSS,按这个顺序排查
第一个建议是:打开Elementor编辑器,点左下角那个响应式切换按钮(就是电脑、平板、手机三个图标),切到手机预览模式。然后在手机模式下,直接点一下产品图所在的那个容器或图片组件,看看右侧面板里高度那里是不是有一个固定值或者最小高度min-height。很多时候你在电脑模式下能看到高度设置,但手机模式下被单独覆盖了,你之前的修改可能都改在了桌面端那个视图里。
第二个方向:如果你是直接把产品图放进了容器的背景图里面,那问题就会更麻烦一些。背景图配合cover模式,本身就意味着图片可能会被裁切,背景图只是用来“填充”区域的,不是真正的图片内容。这种情况我建议你把背景图改成Elementor的Image组件,让图片作为一个真正的图片元素放在页面上,宽度100%,高度自动,这样图片会跟着屏幕宽度等比缩放,不会被裁。外贸站的产品图还是要尽量完整展示,客户看不清产品细节很容易跑掉的。
第三个小提醒:留意一下是不是用了“容器”而不是“Section”。新版Elementor的容器设置里,min-height这个参数比较隐蔽,有时候你不小心设了比如500px的最小高度,移动端它也会去撑开,图片就跟着比例被裁了。你可以在手机视图下把min-height改成0或者自动试试。
要不要写Custom CSS?
我的看法是,不到万不得已先别写。Elementor自带的响应式控制能解决大部分问题,写CSS反而容易出新的状况,尤其是你还不是特别熟练的情况下。真到了非写不可的那一步,可以在Custom CSS里加一小段,但要注意每个网站的class不一样,你得先右键检查一下那个容器的CSS类名,不能直接复制别人的代码就往上套。大致写法类似这样,但类名一定要换成你自己的:
假设你的容器类名是product-gallery,那就写媒体查询,针对手机端把高度改成自动。不过说实话这只是兜底方案,我建议你先把前面Elementor自带的设置过一遍,大多数情况都能解决。
还有两句废话但确实重要
改之前记得先备份一下,Elementor里改动有时候会影响同一个模板下的其他产品页面,别只看了某一个产品没问题就收工。另外改完之后用真实手机看一眼,别只看浏览器里的手机预览模式,有时候预览模式和真机还是有差别的。
你先试试把那个高度改成自动看效果怎么样,如果还是不行,再回来看看是不是图片本身的问题,比如原始图片尺寸太小或者太长条。一步步来,这个不算什么难事。
