使用 HTML 样式标签是不好的做法吗?我还能怎样实现这个目标?

发布于 2024-10-22 00:24:11 字数 287 浏览 3 评论 0原文

目前我正在做这样的事情:

<?php
if ($x == 0)
  $image = 'background-position: 0px -7px';
else
  $image = 'background-position: 0px -14px';
?>
<a class="asdf" style="<?php echo $image; ?>"></a>

这是基于 HTML/PHP 中的变量更改图像的推荐方法吗?有什么办法可以重构这个吗?

Currently I'm doing something like this:

<?php
if ($x == 0)
  $image = 'background-position: 0px -7px';
else
  $image = 'background-position: 0px -14px';
?>
<a class="asdf" style="<?php echo $image; ?>"></a>

Is this the recommended way to change an image based on a variable in HTML/PHP? Is there any way to refactor this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

§对你不离不弃 2024-10-29 00:24:12

如果它是样式的一部分,请使用 css 和类。如果它是内容的一部分,您应该使用 img 元素。

If it's part of the style, use css and classes. If it's part of the content, you should be using an img element.

嘿看小鸭子会跑 2024-10-29 00:24:12

你的代码很奇怪?在 if 语句的末尾,位置最终会是 begin -7 或 -14px...第一个只是无意义...

因此这段代码可能是“简洁”的,但这只是个人的:

<a class="asdf" style="background-position: 0px -<?php echo (($x==0)?'7':'14') ?>px;"></a>

同样,有些人可能会争论这个内联三元运算符可能不可读,但它做了同样的事情......

You're code is weird? At the end of the if-statement the position would end up begin -7 or -14px... the first is just nonsense...

thus this code might be 'neat'-er but thats just personal:

<a class="asdf" style="background-position: 0px -<?php echo (($x==0)?'7':'14') ?>px;"></a>

Again, some might argue that this inline tenerary operator might be unreadable, but it does the same thing...

时光沙漏 2024-10-29 00:24:12

我可能会设置一个类,并通过 PHP 更改该类。这样,您仍然可以保留 CSS 中的样式,但可以使用 PHP 选择它。

I would probably set a class instead, and change the class via PHP. This way, you are still maintaining style in your CSS, but can choose it with PHP.

难以启齿的温柔 2024-10-29 00:24:11

尝试这样的操作:

<?php
    $positionClass = ($x == 0) ? 'position1' : 'position2';
?>
<style type="text/css">
    .position1 { background-position: 0px -7px; }
    .position2 { background-position: 0px -14px; }
</style>
<a class="asdf <?php echo $positionClass;?>"></a>

PHP 将设置应使用哪个类,然后在 HTML 中回显相应的类。 CSS 将应用所需的定位属性。

Try something like this:

<?php
    $positionClass = ($x == 0) ? 'position1' : 'position2';
?>
<style type="text/css">
    .position1 { background-position: 0px -7px; }
    .position2 { background-position: 0px -14px; }
</style>
<a class="asdf <?php echo $positionClass;?>"></a>

PHP will set which class should be used, and then echo the corresponding class in your HTML. The CSS will be applied with the desired positioning attributes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文