在PHP内添加margin-left,脚本

时间:2013-11-07 22:07:14

标签: javascript php

问题是。我想插入保证金左:20%;到用户登录时的maincontent。

不,我没有语法问题,我可以在js中完成它,但我告诉使用PHP。 所以我还在css和我的身体中添加了一个课程。

<?php
if ($_SESSION['username']){


include("/view/leftmenu.php");

}
?>

如何在php中激活css?

3 个答案:

答案 0 :(得分:4)

正如语法高亮显示的那样,您试图将单引号放在单引号字符串中。

您的选择是:

  1. 使用\'退出单引号。
  2. 请改用双引号。
  3. 使用?> ... <?php代替echo
  4. 根本不要使用JavaScript!你控制服务器端;为什么不像logged-in那样只为身体添加一个类,并且有一个像body.logged-in #maincontent { margin-left: 20%; }这样的CSS规则?
  5. (因为你的JavaScript也是无效的;你需要引用20%。百分比不合法JS。)

答案 1 :(得分:1)

将您的JavaScript放在双引号中,里面有单引号。您可能还想首先运行includeinclude不需要()。您的代码看起来更像是:

<?php
session_start(); // has to be run before any headers are sent
if(isset($_SESSION['username'])){
  include '/view/leftmenu.php';
  echo "<script type='text/javascript'>$('#maincontent').css('margin-left', '20%');</script>";
}
?>

然而,更好的解决方案看起来更像是:

<?php
session_start(); $marginLeft = '0'; // $marginLeft should be your default
if(isset($_SESSION['username'])){
  $marginLeft = '20%';
  include '/view/leftmenu.php';
}
echo "<!DOCTYPE html><html><head><style type='text/css'>".
"#maincontent{margin-left:$marginLeft;}</style></head><body>".
"<div id='maincontent'>content</div></body></html>";
?>

更好的方法,看起来像:

<?php
session_start(); $className = 'withoutMargin'; // $marginLeft should be your default
if(isset($_SESSION['username'])){
  $className = 'withMargin';
  include '/view/leftmenu.php';
}
?>
<!DOCTYPE html>
<html>
  <head>
    <style type='text/css'>
      .withoutMargin{
         margin-left:0;
       }
       .withMargin{
         margin-left:20%;
       }
    </style>
  </head>
<body>
<?php echo "  <div class='$className'>"; ?>
  <!-- your content here -->
  </div>
</body>
</html>

注意:上面的代码不一定非常像这样。这只是说明了概念。你可以有更多的代码测试来设置提交等等。另外,对于我推荐的第二个例子,我会使用外部CSS,因此它会被用户的浏览器缓存。

答案 2 :(得分:0)

20%需要引用:

$('#maincontent').css('margin-left', '20%');

这也适用于px,em,pt和任何其他形式的CSS测量单位。