【发布时间】:2017-08-24 21:19:57
【问题描述】:
PHP - 尝试为渐变背景定义两个色标以应用于单个 CSS 选择器。我需要用户单独选择它们(通过颜色选择器)。
我一直在用 PHP 定义背景颜色(命名:$color_gradient & 返回:'#f7f7f7'; 作为用户开始的默认值),因此用户可以选择渐变的基色(通过 PHP) ,然后我在css中设置了颜色到alpha的渐变叠加(因此用户选择的背景颜色会淡化为黑色或白色结束颜色)以获得最接近我想要完成的效果,但它是仍然限制我在 CSS 中为叠加层设置的任何颜色,并且我不希望用户必须编辑 css 文件中的颜色代码 - 我宁愿让 PHP 处理它,以便用户可以定义渐变的两种颜色,而不仅仅是一种颜色。
function theme_customizer_get_default_gradient_color() {
return '#f7f7f7';
}
$color_gradient = get_theme_mod( 'theme_gradient_color',
theme_customizer_get_default_gradient_color() );
$css .= ( theme_customizer_get_default_gradient_color() !== $color_gradient ) ?
sprintf( '
.nav-primary,
.site-footer {
background-color: %1$s;
}
', $color_gradient ) : '';
if ( theme_customizer_get_default_gradient_color() !== $color_gradient
有没有办法在 HEX 或 RGB 颜色中定义诸如“从左”和“从右”之类的东西,例如一个区域的背景颜色,以便 PHP 中定义的两种颜色被视为渐变的每一半,并且用户可以分别选择每种颜色并且它们仍然混合在一起?
或者有没有办法让 PHP 处理叠加层(而不是在 CSS 中处理),一旦用户选择了一种新颜色,该叠加层将保持为 alpha-to-color 项目,而不是更改为纯色? (我担心一旦用户更改为默认颜色以外的颜色,透明度会被覆盖。)
我不是在寻找任何人来为我编写代码;我只需要朝某个方向轻推。
【问题讨论】: