【问题标题】:Defining CSS colour through php通过 php 定义 CSS 颜色
【发布时间】:2017-01-20 03:27:12
【问题描述】:

我需要一种将 CSS 突出显示颜色定义为 php 值的方法,然后将其用作我的样式表中的类。

我知道有人将其用作内联样式,但我使用该类的元素太多,无法将其内联。理想情况下,我需要一种方法来回显样式表中的变量(SASS?)

我在任何地方都找不到这个,这似乎很奇怪!

【问题讨论】:

  • 动态插入内联样式或类是您的最佳选择。
  • 不要将它插入到您的样式表中。相反,在您的输出中(最好在页面的 <head> 部分),在引用样式表后的某个时间点,使 PHP 执行以下操作:echo '<style>.highlight_color {color: #ffff00;}</style>

标签: php css sass less stylesheet


【解决方案1】:

目前您有 2 个可行的选择。

使用 Javascript

第一个选项是在您的 HTML 文件中使用一些 javascript,在 script 标记中。

用 PHP 定义一个变量并使用它来定位所需的元素。

var myVariable = "dodgerblue";

$(".el").css("background-color", myVariable);
body {
  counter-reset: example;
  display: flex;
  justify-content: space-around;
  height: 100vh;
  margin: 0;
}
div {
  flex: 0 0 10%;
  counter-increment: example;
}
div::after {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  content: counter(example);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="el"></div>
<div class="el"></div>
<div class="el"></div>
<div class="el"></div>
<div class="el"></div>

另一个选项就像 @cale_b 建议的那样。

使用内部样式表。

在您的输出中(最好是在页面的部分),在某些 在你的样式表被引用之后点,导致 PHP 做一些事情 像这样:echo &lt;style&gt;.highlight_color {color: #ffff00;}&lt;/style&gt;.


目前无法使用 CSS。

遗憾的是,目前还没有 CSS 解决方案。

希望有一天浏览器将支持在所有属性值中使用attr() CSS 函数,而不仅仅是内容。

div {
  background-color: attr(data-myvariable);
}
div::after {
  content: attr(data-myvariable);
}
<div data-myvariable="red">
  Example
</div>

【讨论】:

  • 好的,谢谢!所以看起来我必须将变量添加到每个实例中,这很遗憾。我要上班了!
  • 不幸的是,没有其他选择。如果您觉得这有帮助,您可以将其标记为正确答案。
猜你喜欢
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
相关资源
最近更新 更多