6

管理者からホームページにテキストを表示しているdivのcssを変更するにはどうすればよいですか。プラグインの管理ページにカラーコードを入力すると、cssファイルでコードが更新されます。これはよくあることですが、把握することはできません。

これが私のdivのcssです。

#div{

background: #0000;

}

これが私の管理セクションのphpコードです。

<?php 
 Background Color: <input type="text" size="20" name="background"
 value="<?php get_option('backgroundchanges');?>"/>

したがって、基本的には、入力に入力した値をcssファイルに反映させたいと思います。

助けてくれてありがとう。

よろしく、:)

-ロン。

4

3 に答える 3

14

実際には.cssファイルを使用せず、代わりに.cssファイルとして機能する.phpファイルを使用する必要があります。次に、.phpcssファイルの変数に新しい色を設定するだけです。

style.cssファイルの名前をstyle.phpに変更してから、ファイルの先頭に次を追加します。

<?php header("Content-type: text/css"); ?>

この行は、ファイルがHTMLではなくCSSであることをブラウザに通知します。HTMLファイルで、スタイルシートの参照をstyle.cssからstyle.phpに変更します。例えば:

<link rel="stylesheet" type="text/css"
 media="screen" href="style.php">

引用:http ://www.barelyfitz.com/projects/csscolor/

于 2012-06-08T14:28:20.857 に答える
4

PHPを介してCSSファイルを出力すると、ダイナミックHTMLとCSSを作成するため、サーバーにオーバーヘッドが追加されます。CSSの「カスケード」の性質を考えると、HTMLページで提供されるインラインスタイルはCSSをオーバーライドするため、PHPによってすでに提供されているページにいくつかのインラインスタイルを追加できる可能性が非常に高くなります。別のオプションは、Javascriptを使用してCSSを更新することです。これを行う1つの方法がありますが、これがすべてのブラウザーで機能するとは思いません(iOSのWebkitでこれを使用します):-

var cssStyle = getCSSRule('#styleName');
cssStyle.style.background = redfinedColour;

...ここからgetCSSRuleを使用します:-

http://www.hunlock.com/blogs/Totally_Pwn_CSS_with_Javascript

于 2012-06-08T14:32:01.390 に答える
2

私のやり方は、images / css / jsをロードしてブラウザに渡すコンテンツローダーコントローラまたはスクリプトを使用することです。tinyMCEectの画像リストのように、キャッシュを制御してJavaScriptを動的に作成することもできます。

ここに簡略化された例がありますが、あなたはその考えを理解しています。

<?php 
$filename = value passed from url


if(file_exists(SITE_ROOT.'/templates/'.$theme.'/css/'.basename($filename))==true){
    $fullpath=SITE_ROOT.'/templates/'.$theme.'/css/'.basename($filename);
    header("Content-type: text/css");
    $search=array('{SITE_URL}','{BACKGROUND}');
    $replace=array('http://example.com',get_option('backgroundchanges'));
    echo str_replace($search,$replace,file_get_contents($fullpath));
    die;
}else{
    die('CSS file does not exist!');
}

?>

次に、プレースホルダーがパラメーターに置き換えられたcssファイルを用意します。

#div{
background: #{BACKGROUND} url('{SITE_URL}/stripe.png') repeat;
}
于 2012-06-08T14:36:53.950 に答える