【问题标题】:Opacity with PHP [duplicate]PHP的不透明度[重复]
【发布时间】:2022-01-17 23:23:15
【问题描述】:

是否可以在 PHP 而不是 CSS 中隐藏网站的一部分,例如 DIV 或带有 opacityz-index 的任何标签

CSS 代码:

#unwantedposition{
    opacity:0;
    z-index:9999;
    position:absolute;
    }

我正在尝试用 PHP 重写我的 CSS 代码

PHP 代码:

header("Content-type: text/css; charset: UTF-8");

   $opacity = "0";
   $z-index = "9999";
   $position = "absolute";

我该如何解决这个问题?

【问题讨论】:

  • 是的,你可以使用 if 语句
  • PHP 无法访问 DOM。不透明度、z-index 和位置是 CSS 属性。但是,您可以使用 PHP 输出有效的 CSS。
  • @Jerson 你能给我看看例子吗?我如何为opacityz-indexif statement
  • @MarkusAO 所以没有办法在 PHP 中使用 opacityz-index
  • 我发现您想要实现的目标非常不清楚。从某些答案中的 cmets 听起来好像您正在尝试确保用户无法查看您的源代码。这是不可能的 - 但这是您想要实现的目标吗? 'PHP 中的不透明度' 的概念也没有任何意义。

标签: php html css opacity


【解决方案1】:

您可以简单地覆盖该 CSS 类。

<?php
echo '<style>
    #unwantedposition{
    opacity:0;
    z-index:9999;
    position:absolute;
}
</style>';

这应该放在你的标题标签中,在你的 CSS 文件下面。

【讨论】:

  • 但同样的事情。我正在寻找不使用 CSS 的替代解决方案。
  • 最简单的方法是使用 JavaScript。如果你只想用 PHP 来做,它是可能的,但是太重了。首先,您需要阅读您的 CSS 文件。使用 Regex,您需要找到您要查找的字符串,然后使用 PHP 将其替换为新字符串。完成后,将新字符串保存在同一文件中并加载页面。
【解决方案2】:

您可以有条件地显示 HTML 标签:

<?php if ($isNeedToShow): ?>
  <div>...</div>
<?php endif ?>

【讨论】:

  • 这只是使用 PHP 使用 CSS 的另一种方式,但我正在寻找与 PHP 相同类型的函数而没有 CSS,因为我不希望在视图源代码中出现不透明代码。
  • @shanmugapradeep,PHP 只能避免渲染 HTML 标签。要隐藏元素,您必须使用 CSS。
  • 用 CSS 编写不会隐藏 view-source 中的元素 :(。任何人都可以在浏览器中单击 view source 并阅读带有提及的不透明度的 CSS 或页面中调用的 CSS 链接。跨度>
  • 如果它出现在 DOM/HTML 中,它显然会出现在“view-source”中(使用 CSS 或其他方式)。即使您使用 javascript 渲染它,生成的 HTML 仍然可以使用基本的开发人员工具读取。
  • &lt;?php echo DOMElement::setDarkMatterNode('embed', 'QuestionableUseCase');。真的,如果文本内容不应该在源中显示,只需将其渲染为图像。 (然后隐藏起来?为了什么目的,我们要制作在 HTML 源代码中找不到的不可见的东西?我很着迷。)
【解决方案3】:

我不明白你的意思。 但是,opacityz-index 是 CSS 属性。 但是,PHP 无法访问DOM Element,它只能使用 HTML 和 CSS 的混合。

那么问题来了,如何使用PHP来混合HTML和CSS?

您可以打印&lt;tag style="css-property: value;"&gt;&lt;/tag&gt; 示例:

<div style="opacity: 0; z-index: 9999; position: absolute"></div>

这个答案有帮助吗?如果您还有其他问题,可以添加有关您的问题的 cmets。

【讨论】:

    【解决方案4】:

    尝试使用 if 语句示例来实现这一点,变量 $hide 将其设置在您的 html 页面顶部

    <style type="text/css">
        .disabled-div {
            pointer-events: none;
            opacity: 0.4;
        }
    </style>
    <body>
        
        <div class="<?php if($hide === true){ ?>disabled-div <?php } ?>">this is my hidden div</div>
        
        <div>some content</div>
    </body>
    

    【讨论】:

    • 您的代码将禁用(隐藏)DIV 意味着 DIV 的内容不会在客户端打印,但我想像 opacity 中的 CSS 一样隐藏为透明
    • @shanmugapradeep 我已经更新了我的答案,我认为它更适合您的需求
    猜你喜欢
    • 2019-08-06
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2012-05-12
    • 1970-01-01
    • 2018-04-19
    • 2021-09-27
    相关资源
    最近更新 更多