在使用Dedecms CMS构建响应式或移动端网站时,图片的宽度和高度问题常常让人头疼。许多用户存在一个误区:无论添加什么内容,响应式或移动端网站应该自动适配。这种想法是不正确的。例如,如果你在后台编辑器中为一张图片设置了固定的宽高,那么在手机端或响应式网站上,图片很可能会变形。 这个问题与Dedecms CMS后台使用的编辑器CKEditor有关。CKEditor在上传图片时会自动带上图片的宽高属性。如下图所示:
示意图
要解决这个问题,我们需要对CKEditor进行一些修改。首先,找到以下文件:
include/ckeditor/plugins/imagedialogs/image.js
在这个文件中,需要删除两段代码。以下是这两段代码的内容:

if(C==d){
    if(F)D.setStyle('width',CKEDITOR.tools.cssLength(F));
    else D.removeStyle('width');
    !E&&D.removeAttribute('width');
}else if(C==f){
    var G=F.match(h);
    if(!G){
        var H=this.getDialog().originalElement;
        if(H.getCustomData('isReady')=='true')D.setStyle('width',H.$.width+'px');
    }else D.setStyle('width',CKEDITOR.tools.cssLength(F));
}else if(C==g){
    D.removeAttribute('width');
    D.removeStyle('width');
}
    
以及:

if(C==d){
    if(F)D.setStyle('height',CKEDITOR.tools.cssLength(F));
    else D.removeStyle('height');
    !E&&D.removeAttribute('height');
}else if(C==f){
    var G=F.match(h);
    if(!G){
        var H=this.getDialog().originalElement;
        if(H.getCustomData('isReady')=='true')D.setStyle('height',H.$.height+'px');
    }else D.setStyle('height',CKEDITOR.tools.cssLength(F));
}else if(C==g){
    D.removeAttribute('height');
    D.removeStyle('height');
}
    
删除上述两段代码后,请记得清除本地浏览器缓存,并重新登录网站。此时,当你再次添加图片时,就会发现图片不再带有宽高限制了。 通过这种方式,可以有效解决Dedecms CMS中图片在响应式或移动端网站上的显示问题。确保图片能够根据设备屏幕大小自动调整,从而提升用户体验。
希望这篇文章能帮助到正在使用Dedecms CMS构建响应式或移动端网站的朋友!