php - 直接用 PHP 编写元素的样式是否被认为是不好的做法?

标签 php html css

我知道将 CSS 与 HTML 混合通常被认为是不好的做法,并且 CSS 选择器(id、类等)通常应该用于设置外部样式表中元素的样式。但这在用 PHP 编写动态页面时会很不方便。通过写入元素的样式属性,直接使用 PHP 输出元素的样式要容易得多。这是否会被视为不良做法,即使使用类会使开发人员端的管理变得更加困难?

例如,我在数据库中存储了一个元素的颜色样式,该元素根据动态 PHP 页面中提供的参数具有不同的颜色。在这种情况下,我可以使用 php 将一些类与我从数据库中获取的颜色变量写入 css 样式表

echo '.custom-color {';
echo   'color: ' . $colorFromDatabase . ';';
echo '}';

然后将类附加到元素:

<div class="custom-color"></div>

或者我可以直接将样式回显到元素。

echo '<div style="color:' . $colorFromDatabase . ';" >';

哪种方法更好?

最佳答案

内联编写样式通常被认为是不好的,无论是使用 PHP 还是手工编写。它更简单但更难维护,而且您无法缓存 CSS 内容。 如果你想让 CSS 更加动态,你应该尝试使用 http://sass-lang.com/

注意custom-color不是一个很好的类名,应该是main-headerblog-postlast-modified 因为他们告诉你内容而不是它的风格。

SASS 可以让您为颜色定义一个变量并在您的 CSS 文件中重用它,然后您只需更改变量名称并重新生成您的 CSS 文件

你所做的事情的好处是你不必学习新事物。 PHP 将完成它。如果您想将 SASS 与数据库中的内容一起使用并想出要使用 CSS 的方案,则需要在您的构建中写入一些内容。

请注意,在某些情况下直接编写属性是有意义的,但很难解释确切的时间。通常是只使用一次的时候。

他们页面的例子

// Variable Definitions

$page-width:    800px;
$sidebar-width: 200px;
$primary-color: #eeeeee;

// Global Attributes

body {
  font: {
    family: sans-serif;
    size: 30em;
    weight: bold;
  }
}

// Scoped Styles

#contents {
  width: $page-width;
  #sidebar {
    float: right;
    width: $sidebar-width;
  }
  #main {
    width: $page-width - $sidebar-width;
    background: $primary-color;
    h2 { color: blue; }
  }
}

#footer {
  height: 200px;
}

关于php - 直接用 PHP 编写元素的样式是否被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12230490/

相关文章:

javascript - 模拟水平行内 block 元素,但元素高度可以绕过它们的行内高度

php - 无法通过 jquery 更改表单操作

javascript - 绝对定位div的布局问题

php - 像在 Javascript 中一样重影 PHP 函数

javascript - 是否可以在显示 div 之前不在隐藏的 div 中加载 iframe?

javascript - Transition effect 不把 transition image 去掉吗?

html - 输入焦点时更改标签颜色

html - 视口(viewport)外的相关元素

php - 如何删除谷歌分析的自定义变量

php - 在 PHP 中寻找 STDOUT