TL;DR: I use PHP inside an external stylesheet, but it doesn't recognize the '/' as a PHP divider operator, this messes up my CSS. Any help is appreciated
Ben veritabanında bir sayfa tablosu dinamik menü öğeleri yükler basit bir web sitesi üzerinde çalışıyorum. özyinelemeli bir algoritma ile ben doğru yerde tüm sayfaları ve alt sayfaları olsun.
Bu işlevde ben ana menü öğeleri miktarını saymak.
Ben menü çubuğunun bütün genişliğini kapsayan ana menüde <ul>
böyle bir genişlik, her <li>
yapmak gerekir, çünkü ben bunu. Ben daha fazla sayfa bir ana menü öğesi olarak eklenir eğer, hiçbir şey değiştirmek için veritabanına tek bir uç var ki, bu dinamik yapılmasını istiyorum.
Şimdi benim soru: PHP dosyaları gibi CSS okur böylece Apache yapılandırmak mümkün olduğunu doğru here okuyun. Bir cazibe, yanlış bir şey gibi çalışır. Şimdi var
<link rel="Stylesheet" type="text/css" href="<?php echo base_url().'css/css-reset.css'.'?item_count='.$menu_count; ?>" />
Benim başlığında (Gördüğünüz gibi ben bir post değişken olarak menü öğesi sayısını geçmek). Bu da çalışır. Benim CSS:
<?php Header ("Content-type: text/css");?>
<?php
$wrapper_width = 900;
$menu_item_count = (int)$_REQUEST['item_count'];
$menu_item_width = $wrapper_width / $menu_item_count;
?>
/*lots more boring CSS */
div#wrapper
{
text-align:left;
width:<?php echo $wrapper_width.'px'; ?>;
}
div#menu a
{
display:block;
height:1.7em;
width:<?php echo $menu_item_width.'px'; ?>;
}
Bir garip bir şey gelir Ve bu nerede. Ben sadece bir int olmak için $menu_item_count
ayarlarsanız (ex: $menu_item_count=150
) olması gerektiği gibi çalışır. Ama en kısa sürede ben iki değişken arasındaki bölücü operatörünü kullanmak gibi CSS berbat olur. diğer operatörler çalışır.
Ben onu görmek yol, bölücü operatörü (? Çünkü yorumların) CSS özel olduğunu ve bir PHP bölücü operatörü olarak değil, bir CSS sembolü olarak okumuyor.
Ben işlevi çalışır bir fonksiyonu koyarak denedim, ama bölücü operatör tekrar işler karışıyor.
Yani benim sorular şunlardır: Herkes hiç harici stil PHP ile çalıştı? Eğer öyleyse, bana bu sorunu anlamaya yardımcı olabilir?