目前我正在做这样的事情:
<?php
if ($x == 0)
$image = 'background-position: 0px -7px';
else
$image = 'background-position: 0px -14px';
?>
<a class="asdf" style="<?php echo $image; ?>"></a>
这是基于HTML / PHP中的变量更改图像的推荐方法吗?有没有办法重构这个?
答案 0 :(得分:2)
尝试这样的事情:
<?php
$positionClass = ($x == 0) ? 'position1' : 'position2';
?>
<style type="text/css">
.position1 { background-position: 0px -7px; }
.position2 { background-position: 0px -14px; }
</style>
<a class="asdf <?php echo $positionClass;?>"></a>
PHP将设置应该使用哪个类,然后在HTML中回显相应的类。 CSS将应用所需的定位属性。
答案 1 :(得分:1)
如果它是样式的一部分,请使用css和类。如果它是内容的一部分,您应该使用img
元素。
答案 2 :(得分:1)
你的代码很奇怪?在if语句结束时,该位置最终会开始-7或-14px ......第一个只是废话......
因此,这段代码可能是“整洁的”,但这只是个人的:<a class="asdf" style="background-position: 0px -<?php echo (($x==0)?'7':'14') ?>px;"></a>
同样,有些人可能会争辩说,这个内联的内联运营商可能是不可读的,但它做同样的事情......
答案 3 :(得分:0)
我可能会设置一个类,然后通过PHP更改类。这样,您仍然在CSS中维护样式,但可以使用PHP选择它。