我使用以下php代码为我的html表中的不同单元格着色,但是想知道是否有更好的方法来执行此操作。
<?php if($crew['status'] == 'OUT') { ?>
<td style='text-align:center;font-size:80%;color:red' ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'OPEN') { ?>
<td style='text-align:center;font-size:80%;color:blue' ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'CONFIRMED') { ?>
<td style='text-align:center;font-size:80%;color:green' ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'WAITLIST') { ?>
<td style='text-align:center;font-size:80%;color:purple'><?php echo $crew['status'] ?></td>
<?php } else { ?>
<td style='text-align:center;font-size:80%;color:orange'>TIMESPAN</td>
<?php } ?>
答案 0 :(得分:1)
我就是这样做的:
<td class="status-<?php echo $crew['status']; ?>><?php echo $crew['status'] ?></td>
...
<style type="text/css">
td.status {
text-align: center;
font-size: 80%;
color: orange;
}
td.status-OUT { color: red; }
td.status-OPEN { color: blue; }
td.status-CONFIRMED { color: green; }
td.status-WAITLIST { color: purple; }
</style>
答案 1 :(得分:1)
很多......你应该避免使用大量的内联CSS。
您可以执行以下操作:
<style>
#yourtable tr td {
text-align:center;
font-size:80%;
}
</style>
<?php
$colors = [
'OUT' => 'red',
'OPEN' => 'blue',
'CONFIRMED' => 'green',
'WAITLIST' => 'purple'
];
?>
<?php if (array_key_exists($crew['status'], $colors)): ?>
<td style="color:<?= $colors[$crew['status']]?>"><?= $crew['status'] ?></td>
<?php else: ?>
<td style="color:orange">TIMESPAN</td>
<?php endif ?>