Php 使用动态URL访问';激活&x27;额外CSS

Php 使用动态URL访问';激活&x27;额外CSS,php,dynamic,Php,Dynamic,首先很抱歉,如果这是一个常见的问题,但我在谷歌上找不到任何东西,而且似乎也没有太多的文档记录 我目前正在为自己制作一个作品集,展示我的平面设计和其他东西。我喜欢它的外观,但我确实意识到,与其他网站相比,它看起来相当黑暗。导航栏中的文本特别小,但我不想更改它 相反,我希望在页面底部有一个小的iOS风格的开关,当点击它时,用户将进入有问题的页面的另一个版本,或者只是一个应用了不同CSS的版本。然后,我可以将背景设置得更亮,文本设置得更大,等等。简单但繁琐的解决方案是将每页设置四次,一次使用大字体和浅

首先很抱歉,如果这是一个常见的问题,但我在谷歌上找不到任何东西,而且似乎也没有太多的文档记录

我目前正在为自己制作一个作品集,展示我的平面设计和其他东西。我喜欢它的外观,但我确实意识到,与其他网站相比,它看起来相当黑暗。导航栏中的文本特别小,但我不想更改它

相反,我希望在页面底部有一个小的iOS风格的开关,当点击它时,用户将进入有问题的页面的另一个版本,或者只是一个应用了不同CSS的版本。然后,我可以将背景设置得更亮,文本设置得更大,等等。简单但繁琐的解决方案是将每页设置四次,一次使用大字体和浅色背景,一次使用深色和浅色背景,等等。但这并不理想。我想知道我是否可以做一些更像:

portfolio.co.uk/home?light=on&text=big
据我所知,动态URL(我相信它们被称为)是PHP的东西,但我对PHP的经验和一个没有PHP经验的人一样少。我想知道这个任务是否可能不变得太复杂,是否有一种方法甚至可以创建一个cookie,这样经常访问的人就不必每次都导航到他们喜欢的版本


谢谢

您可以根据查询字符串“是”更改CSS样式表。。。php中的类似内容:

if ($_GET['light'] == 'on'){
   echo "<style>something here</style>";
}else {
   echo "<style>something else</style>";
}
if($\u GET['light']='on'){
呼应“这里有东西”;
}否则{
呼应“其他东西”;
}

$\u GET['light']
获取
light

的查询字符串值使用查询字符串参数确定要加载的样式表

基本上,创建一个始终加载的通用样式表,而不管您使用的是哪个主题。然后,将特定于主题的规则放入单独的样式表中,并使用PHP
if
语句来确定要发送什么标记以加载适当的页面

<head>
    <link href="common.css" rel="stylesheet" type="text/css" />
    <link href="<?php echo $_GET["style"] == "iPhone" ? "iPhone" : "normal" ?>.css" rel="stylesheet" type="text/css" />
   ...
</head>
如何使用: 要将此代码添加到PHP页面中,请将开关代码放在页面顶部(或者更好地放在它自己的
include
d文件中)

页首 按如下方式设置页面:

<?php 
    $stylesheet = "default";
    switch ($_GET["style"]) {
        case "iPhone": $stylesheet = "iPhone";
        case "bigBold": $stylesheet = "bigBold";
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <link href="common.css" rel="stylesheet" type="text/css" />
        <link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
       ...
    </head>
    <body>
        ...
    </body>
<html>
然后,在PHP页面中:

<?php include_once('stylesheetSelector.php'); ?>
<!DOCTYPE html>
<html>
    <head>
        <link href="common.css" rel="stylesheet" type="text/css" />
        <link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
       ...
    </head>
    <body>
        ...
    </body>
<html>


响应include php文件。当您使用include时,您将如何在其中包含路径。因为我们使用的是保存在服务器上的单独文件,而服务器上可能没有相同目录中的文件

阅读有关条件css的链接,说明最好检查浏览器功能,而不是根据浏览器进行选择。原因是您不必更新或更改代码作为浏览器更新功能


这是一个选择,它将消除对“开关”的需要在页面底部更改主题。听起来OP希望允许任何人切换,而不仅仅是特定于iPhone的,所以这将适用于此。感谢您的回复,非常感谢。我将尝试一下您所说的内容。无论如何,我应该尝试学习一点PHP知识。;)抱歉,这让我很痛苦,但是,在一个典型的HTML文档中,这将如何以及在哪里发生呢?链接标签我理解,但是其他PHP呢?是的,我的服务器在一个简单的HTML文档中使用PHP似乎很好:汉克斯,我来玩玩我不知道你在做什么;你在说,对不起。我用的方法很好用。PHP是在服务器上执行的,所以无论使用什么浏览器,它都需要支持多个
链接到样式表的标记和
重要的
CSS majig。
<?php 
    $stylesheet = "default";
    switch ($_GET["style"]) {
        case "iPhone": $stylesheet = "iPhone";
        case "bigBold": $stylesheet = "bigBold";
    }
?>
<?php include_once('stylesheetSelector.php'); ?>
<!DOCTYPE html>
<html>
    <head>
        <link href="common.css" rel="stylesheet" type="text/css" />
        <link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
       ...
    </head>
    <body>
        ...
    </body>
<html>