我很好奇使用动态css属性的正确方法。我有变量,如果包含它们显示在动态css样式表中。
如果我有动态css那么
body {
background:<?php global $data; echo $data['body_background'];?>;
background-image:url(<?php global $data; echo $data['body_background_background']; ?>);
}
我以前最好使用if statements
,或者如果它为空,则让它回显一个空白的css语句?
例如,如果没有值,则显示
body {
background:;
background-image:url();
}
我最好把它包括if statements
所以它没有显示任何东西?例如:
if (!empty($data['body_background'])) {
background:<?php global $data; echo $data['body_background'];?>;
}
最有效的方法是什么?
答案 0 :(得分:2)
这都是Macaroni code。我的建议是:
<?php echo
替换<?=
答案 1 :(得分:0)
您可以使用ternary operator来简化if
声明。
body{
<?php echo (empty($data['body_background']))?'':'background:'.$data['body_background'].';'; ?>
}
答案 2 :(得分:0)
我有一个建议:实现某种样式表生成器,将变量编译成一个只包含CSS的文件。我无法想象样式变量会改变每个请求的实际情况。
关于代码样式:global是PHP的遗留物4次,不应再使用了。
至于你的具体问题: 使用if语句检查特定数组值是否首先填充。你可以用以下方式完成。
body{
<?php echo (empty($data['body_background']) ? '' : 'background:' . $data['body_background'] . ';'); ?>
}