我的网站上有一个gamimng部分,允许用户使用颜色(蓝色,红色和绿色)显示他们的统计数据的快速状态.
我想根据每个用户生成这样的东西.我到目前为止:
<style>
.box2 {
height: 20px;
background: blue;
float:left;
width:120px;
}
.box3 {
height: 20px;
background: green;
float:left;
width:30px;
}
.box1 {
height: 20px;
background: red;
float:left;
width:140px;
}
</style>
<div>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我应该把css直接放在页面中吗?什么是使用PHP实现这个的最佳方法?
Boo*_*eus 15
您始终可以使用PHP生成的文件,并将其包含为CSS文件,如:
<link rel="stylesheet" type="text/css" href="/css/userstats.php" />
Run Code Online (Sandbox Code Playgroud)
然后在此文件中,您可以使用当前会话查找用户统计信息,然后使用PHP生成.不要忘记把标题:
header("Content-type: text/css");
Run Code Online (Sandbox Code Playgroud)
示例php:
background: #<?php echo $colorX; ?>; // assuming the $colorX is HEX
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢使用.htaccess来重写文件,那么你也可以这样看起来不那么明显:
RewriteEngine On
RewriteBase /
RewriteRule ^css/userstats.css$ /path/to/generatedfile.php [L,NC]
Run Code Online (Sandbox Code Playgroud)
所以你可以使用:
<link rel="stylesheet" type="text/css" href="css/userstats.css" />
Run Code Online (Sandbox Code Playgroud)
示例代码:
<style>
div.bar {
height: 25px;
}
div.bar div {
display: block;
float:left;
height: 25px;
margin: 0;
padding: 0;
position: relative;
}
div.bar div.red {
background: #DD3030;
-webkit-box-shadow: -5px 0px 8px 2px #DD3030;
-moz-box-shadow: -5px 0px 8px 2px #DD3030;
box-shadow: -5px 0px 8px 2px #DD3030;
width:140px;
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 0px;
-moz-border-radius-bottomright: 0px;
-moz-border-radius-bottomleft: 8px;
-webkit-border-radius: 8px 0px 0px 8px;
border-radius: 8px 0px 0px 8px;
z-index:10;
}
div.bar div.blue {
background: #3388DD;
-webkit-box-shadow: 0px 0px 8px 2px #3388DD;
-moz-box-shadow: 0px 0px 8px 2px #3388DD;
box-shadow: 0px 0px 8px 2px #3388DD;
width:120px;
z-index:5;
}
div.bar div.green {
background: #1CAD32;
-webkit-box-shadow: 5px 0px 8px 2px #1CAD32;
-moz-box-shadow: 5px 0px 8px 2px #1CAD32;
box-shadow: 5px 0px 8px 2px #1CAD32;
width:30px;
-moz-border-radius-topleft: 0px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
-moz-border-radius-bottomleft: 0px;
-webkit-border-radius: 0px 8px 8px 0px;
border-radius: 0px 8px 8px 0px;
z-index:10;
}
</style>
<div class="bar">
<div class="red"></div>
<div class="blue"></div>
<div class="green"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
jsfiddle: http ://jsfiddle.net/g9Vrx/
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |