我知道将 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-header
,blog-post
, last-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/