Joomla5垂直菜单模块:如何在PHP中调整元素的px数值?
解决Joomla 5垂直菜单模块宽度调整问题
问题核心
你获取的$max_width是带单位的字符串(比如300px),直接错误拼接或语法不规范导致调整失效,以下是两种可行解决方法:
方案一:PHP端预计算调整后宽度
先提取$max_width的数值部分,加上10后重新拼接单位,再代入CSS:
// 提取宽度数值,去除px单位 $width_num = (int) str_replace('px', '', $max_width); // 计算新宽度:原数值+10,拼接px单位 $adjusted_width = ($width_num + 10) . 'px'; // 生成最终CSS $custom_css .= '#sp-main-body {width: calc(100% - ' . $adjusted_width . '); margin-right: ' . $adjusted_width . '; }';
方案二:CSS calc内直接运算(需严格遵循语法)
如果想直接在calc中减去额外10px,必须保证运算符前后有空格,同时确保$max_width无多余空格,正确写法:
$custom_css .= '#sp-main-body {width: calc(100% - ' . $max_width . ' - 10px); margin-right: ' . $max_width . '; }';
提示:若
$max_width值带有多余空格(比如后台输入误加),可先用trim($max_width)去除后再使用,避免calc语法错误。
内容的提问来源于stack exchange,提问作者user28928120
相关产品推荐
相关产品推荐

