2016-07-30 95 views
1

我想创建一个字体预览,但我不能让字体改变。当我运行的代码如下所示,输出的是字体家庭不工作在PHP

我的文字 - ARIAL.TTF - 1个 我的文字 - Batman.ttf - 1个 我的文字 - Verdana.ttf - 1

所以字体正在被发现。它只是不工作。如果我用一个实际的名字替换键/数据,比如蝙蝠侠和蝙蝠侠.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

试试这个..

<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> 

其因在循环要添加的字体相同的类。当页面被加载时,循环中的最后一种字体被应用。所以,不要那样,尝试添加字体家庭作为内联样式。