字体系列不在php中工作

时间:2016-07-30 18:22:52

标签: php css fonts

我正在尝试创建字体预览,但我无法更改字体。当我运行下面显示的代码时,输​​出是

  

我的文字 - Arial.ttf - 1   我的文字 - Batman.ttf - 1   我的文字 - Verdana.ttf - 1

所以找到了字体。它只是不起作用。如果我用实际名称替换键/数据,如Batman和Batman.ttf,它可以工作,尽管每行都是该字体。关于为什么这不起作用的任何想法?

<div>
<?php 
$fontlist['Arial'] = 'Arial.ttf';
$fontlist['Batman'] = 'Batman.ttf';
$fontlist['Verdana'] = 'Verdana.ttf';

$preview = 'my Text';

foreach ($fontlist as $key => $data) {   ?>

   <style>
   @font-face {font-family:<?php echo $key; ?>; src: url(fonts/<?php echo $data; ?>); }  
   .headerText {font-family:<?php echo $key; ?>; font-weight:bold; font-style:none; font-size:40px; padding:10px 0; text-align:center;    
                width:100%; color:rgb(204,204,204); overflow-x:auto; overflow-y:hidden; white-space:nowrap; height:auto                                 
               }                      
   </style>
   <?php
     echo  '<span class="headerText">' . $preview . ' - '.$data.' - ' . file_exists('fonts/'. $data) . '</span><br>'; 
   } ?>

</div> 

1 个答案:

答案 0 :(得分:1)

试试这个..

<div>
<?php
$fontlist['Arial'] = 'Arial.ttf';
$fontlist['Batman'] = 'Batman.ttf';
$fontlist['Verdana'] = 'Verdana.ttf';

$preview = 'my Text';

foreach ($fontlist as $key => $data) {   ?>

   <style>
   @font-face {font-family:<?php echo $key; ?>; src: url(fonts/<?php echo $data; ?>); }
   .headerText { font-weight:bold; font-style:none; font-size:40px; padding:10px 0; text-align:center;
                width:100%; color:rgb(204,204,204); overflow-x:auto; overflow-y:hidden; white-space:nowrap; height:auto
               }
   </style>
   <?php
     echo  '<span class="headerText" style="font-family:'.$key.'">' . $preview . ' - '.$data.' - ' . file_exists('fonts/'. $data) . '</span><br>';
   } ?>

</div>

因为在循环中你将字体添加到同一个类中。当页面加载时,循环中的最后一种字体样式被应用。因此,请尝试将font-family添加为内联样式。