0

スタイルシート (CSS) に PHP 変数を導入しようと考えています。

次のように宣言することで、PHP ページをスタイルシートとして印刷できることがわかりました。

header('Content-Type: text/css');

CSS ページの上部。

ただし、渡した変数はスタイルシートに表示されません。

この場合、PHP 変数は$css、、、、'-webkit-'またはになります。'-moz-''-ms-''-o-'

スタイルシートでは、CSS3 の前でそれをエコーし​​たい。

もともと、それぞれに個別の CSS ファイルを用意することでこれを実現していましたが、これはより効率的であり、データベースから背景色やフォントなどの本物のスタイルを渡すことができます。

可能?どのように?

例 CSS リンクとして呼び出される PHP ファイル。

<?php
global $css;
header('Content-Type: text/css');

?>
.wheel {
    position:absolute; top:50%; left:50%; height:32px; width:32px; margin:-16px; <?php echo $css;?>transition:opacity 0.3s;
}
.wheel li {
    width:3px; height:9px; border-radius:2px; background:#555; <?php echo $css;?>animation:loading 1.2s infinite; position:absolute; <?php echo $css;?>transform-origin:2px 16px; left:16px; opacity:0; box-shadow:inset 0 0 2px rgba(255,255,255,0.4);
}

@<?php echo $css;?>keyframes loading { 0% {opacity:0.2;} 50% {opacity:0.9;} 100% {opacity:0.2;} }
4

3 に答える 3

2

CSS (必ずしも php ではない) で変数を使用できるようにしたいだけの場合は、lessの使用を検討できます。

于 2013-08-01T15:52:35.003 に答える
0

SASS CSS 拡張機能を使用すると、実際に PHP を使用しなくても変数を使用でき、それに伴う欠点もありません。Mixin は、ベンダー固有のスタイル ルールの生成を簡素化します。

@mixin vendor-prefix($name, $argument) {
  -webkit-#{$name}: #{$argument};
  -ms-#{$name}: #{$argument};
  -moz-#{$name}: #{$argument};
  -o-#{$name}: #{$argument};
  #{$name}: #{$argument};
}
p {
  @include vendor-prefix(hyphens, auto)
}
于 2014-02-19T21:14:22.970 に答える