是否可以使用 CSS 的 @media 查询来使用从使用 mysql 的数据库中获取的参数来定位特定样式。我已经看到并使用它来根据屏幕尺寸定位不同的样式,但我可以对数据库中的某些内容执行此操作吗?
CSS - 两种不同的布局
.div{
width:100%;
float:none;
}
.div_two{
width:100%;
float:none;
}
.div{
width:50%;
float:left;
}
.div_two{
width:50%;
float:left;
}
如您所见,两个 div(div 和 div_two)要么相互堆叠,要么并排放置。但我认为可以使用 php 从数据库中获取布局,然后决定以何种方式应用 div。
$query = mysqli_query($con,"SELECT * FROM pages WHERE page = '$page'");
$results = mysqli_fetch_assoc($query);
$layout = $results['layout'];
$div = $results['div'];
$div_two = $results['div_two'];
echo '<div class="div">'.$div.'</div><div class="div_two">'.$div_two.'</div>';
自动整理页面布局的东西会大大简化事情(如果这可以用 PHP 实现)或者是解决这个问题的唯一方法,将这个脚本添加到文档的头部并为它创建单独的样式表每个布局?
if($layout == 1){
echo 'style sheet 1';
}else if($layout == 2){
echo 'style sheet 2';
}else{
echo 'default style sheet';
}
我看不出这种方法有什么问题,但在同一个 CSS 文档中以更简洁的方式定位各个样式会更好。
最佳答案
您可以在正文上使用一个类,或者只是将床单分开。
在第一种情况下,您的 CSS 看起来像这样:
.type1 .div{
width:100%;
float:none;
}
.type1 .div_two{
width:100%;
float:none;
}
.type2 .div{
width:50%;
float:left;
}
.type2 .div_two{
width:50%;
float:left;
}
并且您可以使用 PHP 指定正文类:<body class="<?php echo $selectedClass; ?>">
在另一种情况下,您将使用 PHP 来选择要加载的 CSS 文件:
if($layout == 1){
$css = 'css1';
}else if($layout == 2){
$css = 'css2';
}else{
$css = 'default';
}
然后:<link rel="stylesheet" type="text/css" href="<?php echo $css; ?>.css">
.
您选择的方法取决于工作表之间的差异量 - 如果只有几个,方法一就可以,但如果您试图在每个工作表中显示完全不同的演示文稿,请使用方法二并制作为根据需要使用许多 CSS 文件(您可以考虑使用一个通用 CSS,另一个是特定文件之一)。
尝试让 CSS 而不是 PHP 驱动您的演示文稿。
关于php - 我可以使用特定参数定位 CSS 样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21919988/