如何在php中使用css样式

问题描述 投票:12回答:9

我使用PHP来显示来自mysql的数据。这是我的css声明:

<style type=”text/css”>
table {
    margin: 8px;
}

th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    background: #666;
    color: #FFF;
    padding: 2px 6px;
    border-collapse: separate;
    border: 1px solid #000;
}

td {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    border: 1px solid #DDD;
}
</style>

它们用于显示表格,tableheader,tabledate。我是php css的新手,所以我只是想知道如何在php显示代码中使用上面的css样式:

<?php>
echo "<table>";
echo "<tr><th>ID</th><th>hashtag</th></tr>";
while($row = mysql_fetch_row($result))
{
    echo "<tr onmouseover=\"hilite(this)\" onmouseout=\"lowlite(this)\"><td>$row[0]</td>                <td>$row[1]</td></tr>\n";
}
echo "</table>";
<?>
php css echo
9个回答
12
投票

层叠样式表(CSS)是一种样式表语言,用于描述用标记语言编写的文档的表示语义(外观和格式)。更多信息:http://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS不是一种编程语言,并且没有像PHP这样的服务器端语言附带的工具。但是,我们可以使用服务器端语言来生成样式表。

<html>
<head>
<title>...</title>
<style type="text/css">
table {
margin: 8px;
}

th {
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
background: #666;
color: #FFF;
padding: 2px 6px;
border-collapse: separate;
border: 1px solid #000;
}

td {
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
border: 1px solid #DDD;
}
</style>
</head>
<body>
<?php>
echo "<table>";
echo "<tr><th>ID</th><th>hashtag</th></tr>";
while($row = mysql_fetch_row($result))
{
echo "<tr onmouseover=\"hilite(this)\" onmouseout=\"lowlite(this)\"><td>$row[0]</td>                <td>$row[1]</td></tr>\n";
}
echo "</table>";
?>
</body>
</html>

18
投票

我猜你在数据库中有你的css代码,你想把一个php文件渲染为CSS。如果是这样的话......

在你的html页面中:

<html>
<head>
   <!- head elements (Meta, title, etc) -->

   <!-- Link your php/css file -->
   <link rel="stylesheet" href="style.php" media="screen">
<head>

然后,在style.php文件中:

<?php
/*** set the content type header ***/
/*** Without this header, it wont work ***/
header("Content-type: text/css");


$font_family = 'Arial, Helvetica, sans-serif';
$font_size = '0.7em';
$border = '1px solid';
?>

table {
margin: 8px;
}

th {
font-family: <?=$font_family?>;
font-size: <?=$font_size?>;
background: #666;
color: #FFF;
padding: 2px 6px;
border-collapse: separate;
border: <?=$border?> #000;
}

td {
font-family: <?=$font_family?>;
font-size: <?=$font_size?>;
border: <?=$border?> #DDD;
}

玩得开心!


4
投票

只需将CSS放在PHP标签之外。这里:

<html>
<head>
    <title>Title</title>
    <style type="text/css">
    table {
        margin: 8px;
    }
    </style>
</head>
<body>
    <table>
    <tr><th>ID</th><th>hashtag</th></tr>
    <?php
    while($row = mysql_fetch_row($result))
    {
        echo "<tr onmouseover=\"hilite(this)\" onmouseout=\"lowlite(this)\"><td>$row[0]</td>                <td>$row[1]</td></tr>\n";
    }
    ?>
    </table>
</body>
</html>

请注意,PHP标记是<?php?>


1
投票

我没有理解这个Im new to php css但是你已经在元素级别定义了CSS,你的样式已经应用于你的PHP代码

您的PHP代码将与此类似的HTML一起使用

<!DOCTYPE html>
<html>
  <head>
    <style>
    /* Styles Go Here */
    </style>
  </head>
  <body>
  <?php
   echo 'Whatever'; 
  ?>
  </body>
</html>

还记得,你不需要使用php回显HTML,只需将它们分开即可

<table>
  <tr>
    <td><?php echo 'Blah'; ?></td>
  </tr>
</table>

1
投票

尝试将您的PHP放入一个HTML文档:

注意:您的文件未保存为index.html,但它保存为index.php或您的php无法正常工作!

 //dont inline your style

 <link rel="stylesheet" type="text/css" href="mystyle.css"> //<--this is the proper way!

 //save a separate style sheet (i.e. cascading style sheet aka: css)


0
投票

我不知道这是不正确的格式。但它可以解决我的问题,删除type =“text / css”时用PHP插入html / tpl文件中的css代码。

<style type="text/css"></style>

成为

<style></style>

例子enter image description here


0
投票

css :hover有点像js onmouseover

row1 {
    // your css
}
row1:hover {
    color: red;
}
row1:hover #a, .b, .c:nth-child[3] {
    border: 1px solid red;
}

不太确定它是如何工作的但是css将样式应用于echo'ed id


0
投票

绝对最简单的方法(使用您当前的代码)是在您的PHP代码中添加require_once("path/to/file")语句。

<?php
require_once("../myCSSfile.css");
echo "<table>";
...

此外,作为一个旁边:开放的<?php标签最后没有>,关闭?> php标签不是从<开始。很奇怪,但也是如此。


-1
投票

你也可以把它嵌入到php中。例如。

<?php
    echo "<p style='color:blue; border:2px red solid;'>CSS Styling in php</p>";
?>

希望将来对任何人都有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.