问题是。我想插入 margin-left: 20%; 到 maincontent,当用户登录时。
不,我的语法没有问题,我可以在 js 中完成,但我告诉我使用 php。所以我还在 css 和我的身体中添加了一个类。
<?php
if ($_SESSION['username']){
include("/view/leftmenu.php");
}
?>
如何在 php 中激活 css?
问题是。我想插入 margin-left: 20%; 到 maincontent,当用户登录时。
不,我的语法没有问题,我可以在 js 中完成,但我告诉我使用 php。所以我还在 css 和我的身体中添加了一个类。
<?php
if ($_SESSION['username']){
include("/view/leftmenu.php");
}
?>
如何在 php 中激活 css?
正如语法高亮显示的那样,您试图将单引号放在单引号字符串中。
您的选择是:
\'
。?> ... <?php
而不是echo
.logged-in
,并有一个 CSS 规则之类的body.logged-in #maincontent { margin-left: 20%; }
?(因为它的价值,你的 JavaScript 也是无效的;你需要引用20%
. 百分比不是合法的 JS。)
把你的 JavaScript 放在双引号中,里面有单引号。你可能也想运行你的include
第一个。include
不需要()
。您的代码可能看起来更像:
<?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,因此它由用户的浏览器缓存。
20% 需要用引号括起来:
$('#maincontent').css('margin-left', '20%');
这也适用于 px、em、pt 和任何其他形式的 CSS 度量单位。