我创建了一个动态打印css的简单函数。我认为没有使用sass或更少的话会有一个更好的解决方案。所以,有人能推荐我更好的方法吗?
这些是css选择器,属性&值。
$css_opts = array(
'topbar' => array(
'selector' => '#topbar',
'property' => array(
array(
'property_name' => 'color',
'property_value' => '#fff',
),
array(
'property_name' => 'background-color',
'property_value' => '#fff',
),
array(
'property_name' => 'border-color',
'property_value' => '#fff',
),
),
),
'main-bg' => array(
'selector' => '#main-bg',
'property' => array(
array(
'property_name' => 'color',
'property_value' => '#fff',
),
array(
'property_name' => 'background-color',
'property_value' => '#fff',
),
array(
'property_name' => 'border-color',
'property_value' => '#fff',
),
),
),
);
这是css生成的函数
function zb_css_dynamically( $css_opts ) {
if ( isset( $css_opts ) ) {
foreach ( $css_opts as $key => $value ) {
if ( isset( $value['selector'] ) ) {
echo $value['selector'];
echo '{';
foreach ( $value['property'] as $property ) {
echo $property['property_name'] . ':' . $property['property_value'] . ';';
}
echo '}';
}
}
}
}
我创建此函数的原因是为了避免在css中的php文件中进行多时间条件检查。例如,如果我有一个文件名是custom-style.php。请参阅下文,每当我想添加新的css属性时,条件如何让我一直忙碌。
<?php header( "Content-type: text/css" );
require_once( '../../../../../wp-load.php' );
?>
<?php if ( function_exists( 'smarkt_data' ) ) {
$opts = fw_get_db_customizer_option(); ?>
/*** Site Color ***/
.main-bg {
<?php
if ( ! empty( $opts['site_main_color_field'] ) ) {
echo 'background-color:' . $opts['site_main_color_field'] . ';';
}
?>
}
.main-text-color {
<?php
if ( ! empty( $opts['site_main_text_color_field'] ) ) {
echo 'color:' . $opts['site_main_text_color_field'] . ';';
}
?>
}
<?php
}
答案 0 :(得分:0)
添加标题内容类型css页面顶部..
header("Content-type: text/css");
不要忘记创建一个专门用于动态css文件的新php文件。