Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 打印预览不跟随宽度图像/颜色_Php_Html_Css_Printing - Fatal编程技术网

Php 打印预览不跟随宽度图像/颜色

Php 打印预览不跟随宽度图像/颜色,php,html,css,printing,Php,Html,Css,Printing,我想知道是否有人有建议/想法让打印预览遵循我的宽度颜色 我目前的代码如下 <?php $purata = 3.4; $percentagePurata = number_format(($purata/5)*100,0); echo'<div style="width:164px;margin:0 auto">'; $widthStar = (($purata/5)*164)-1; if ($percentagePurata <=69 &&

我想知道是否有人有建议/想法让打印预览遵循我的宽度颜色

我目前的代码如下

<?php
$purata = 3.4;
$percentagePurata = number_format(($purata/5)*100,0);


echo'<div style="width:164px;margin:0 auto">';

$widthStar = (($purata/5)*164)-1;    
if ($percentagePurata <=69 && $percentagePurata > 0){  
  echo '<div class="star_red" style="width:'.$widthStar.'px;"><img src="images/star_rating.png"></div>';
} else if ($percentagePurata > 69 && $percentagePurata <= 74){  
  echo '<div class="star_yellow" style="width:'.$widthStar.'px;"><img src="images/star_rating.png"></div>';
} else if ($percentagePurata > 74 && $percentagePurata <= 100) {
  echo '<div class="star_green" style="width:'.$widthStar.'px;"><img src="images/star_rating.png"></div>';
}
if ($percentagePurata == 0){  
  echo '<div><img src="images/star_rating.png"></div>';
}

echo'</div>';
?>
由于我的限制,我无法发布图片链接, 红色、黄色和绿色是宽度为1px、高度为30px的图形图像。 虽然星光等级是透明的五星,所以我可以根据百分比在背景中显示特定的颜色

在正常网站视图中,宽度如下所示:

然后,在打印预览时,它将显示全宽,如下所示:


如果任何人有任何想法,如何使打印预览跟随我的图形宽度顺利,我感谢如果你能分享。谢谢。

啊,看来我找到了答案

首先,我刚刚意识到在打印预览中,我的star_rating.png缩小了,并且没有遵循正确的宽度

因此,我在我的星级图像中添加了类。在css中,我使用@media print来声明该类的最小宽度。您可以参考以下代码:

<?php
$purata = 3.4;
$percentagePurata = number_format(($purata/5)*100,0);

echo'<div style="width:164px;margin:0 auto">';
$widthStar = (($purata/5)*164)-1;    
if ($percentagePurata <=69 && $percentagePurata > 0){  
echo '<div class="star_red" style="width:'.$widthStar.'px;"><img class="star_transparent" src="images/star_rating.png"></div>';
} else if ($percentagePurata > 69 && $percentagePurata <= 74){  
echo '<div class="star_yellow" style="width:'.$widthStar.'px;"><img class="star_transparent" src="images/star_rating.png"></div>';
} else if ($percentagePurata > 74 && $percentagePurata <= 100) {
echo '<div class="star_green" style="width:'.$widthStar.'px;"><img class="star_transparent" src="images/star_rating.png"></div>';
}
if ($percentagePurata == 0){  
echo '<div><img src="images/star_rating.png"></div>';
}

echo'</div>';
?>
我的css如下所示 @媒体打印{.star_透明{最小宽度:164px;}

我可以结束这个问题,我想。。。多谢各位