如何在CSS样式中使用PHP变量?

时间:2013-09-08 13:22:37

标签: php javascript css variables

我恳请您提出您的意见:我想根据窗户高度的大小生成一个div。

我创建了以下脚本以通过javascript提取高度。然后我将值转换为PHP变量,我尝试将其插入到相应的CSS工作表中。当我输入固定数字(例如800px)时,div正确显示。当我尝试使用PHP变量时,我什么都没看到。

你能帮帮我吗?

谢谢。

<script type="text/javascript">
<!--var w = screen.width;-->
var w = window,
x = w.innerWidth,
y = w.innerHeight;

<?php $screen_height = "<script>document.write(y)</script>";?>   
</script>   

<style type="text/css">

#map { width: auto; height: 800px; border: 0px; padding: 10px; padding-top: 10px; padding-right: 10px; margin-right: 10px;}

我的解决方案是:

#map { width: auto; height: <?php echo $screen_height;?>px; border: 0px; padding: 10px; padding-top: 10px; padding-right: 10px; margin-right: 10px;}

感谢您的帮助。 最好的问候。

5 个答案:

答案 0 :(得分:0)

尝试使用:

<?php echo $screen_height; ?>

而不是:

<?php $screen_height = "<script>document.write(y)</script>";?>   

你不能在CSS中使用JS!

答案 1 :(得分:0)

您的javascript在浏览器中执行,而PHP则在服务器上执行。当javascript确定屏幕的大小时,页面已经在浏览器中呈现。如果您需要根据显示屏大小更改div的大小,只需使用您的javascript函数修改div的大小。

答案 2 :(得分:0)

javascript在客户端上执行,而php代码在服务器端执行。在javascript变量中存储所需的宽度和高度

      <script type="text/javascript">
       function myfun()
    {
      var w=100;
      var h=200;
      document.body.innerHTML = '<div   style="position:absolute;width:'+w+'px;height:'+h+'px;opacity:0.3;z-index:100;background:#000;"></div>';
    }
         </script>


 <body>
    <div id="d1">hello this is div 1</div>
    <button id="b1" onclick="myfun();">click</button>
</body>

你可以使用javascript本身加载div并分配css属性。

答案 3 :(得分:0)

创建一个类似style.css.php的文件 使用启动文件      然后将其视为普通的CSS文件,但您可以在其中使用php值。

然而,您将无法在其中使用javascript,但您可以通过请求将值传递给它,以便您可以请求style.css.php?windowSize = 800。

理想情况下,仅使用javascript来改变类或使用媒体查询会更好。

答案 4 :(得分:0)

你究竟想做什么?如果您只需要将div大小与窗口大小相关,则只需使用百分比(例如css,height:90%)。如果你想在DOM加载后更改div大小,你需要一些javascript。