Coding style 如何使网页在不同浏览器中显示不同?

Coding style 如何使网页在不同浏览器中显示不同?,coding-style,browser,Coding Style,Browser,我想在不同的浏览器中以不同的格式显示网页的内容。 如何着手实施它 编辑:更多信息 这背后的动机是在不同的移动设备上显示内容。 例如:iPhone使用Safari 因此,如果使用safari浏览器,我会调整内容,使其完全适合iPhone的屏幕,并可以更改字体大小等 如果使用其他浏览器,则我将适当更改格式 <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')) { // is iPhone } ?>

我想在不同的浏览器中以不同的格式显示网页的内容。 如何着手实施它

编辑:更多信息

这背后的动机是在不同的移动设备上显示内容。 例如:iPhone使用Safari 因此,如果使用safari浏览器,我会调整内容,使其完全适合iPhone的屏幕,并可以更改字体大小等

如果使用其他浏览器,则我将适当更改格式


<?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')) {
        // is iPhone
    }
?>

检查随HTTP请求发送的用户代理标头的内容。在你告诉我们更多关于你用来显示页面的内容之前,我不能说得更具体,但你应该将用户代理标题与已知浏览器进行比较,然后根据该测试提供不同的内容。

除了对不同的
用户代理
HTTP标题做出反应之外,您还可以使用一些CSS技巧来区分IE浏览器和非IE浏览器,以及不同的IE版本。当然还有另一种方法:根据从JavaScript代码检测到的浏览器,使用一些JavaScript代码显示/隐藏页面的特定部分

不过,作为一项规则,我会避免使用任何特定于浏览器的东西,并以一种在最重要的浏览器中能够很好地呈现页面的方式来编写页面,而在较旧和古老的浏览器中,这种方式会相当优雅地退化


我还要注意,如果您最终决定切换
用户代理
,请确保返回到合理的默认值。没有什么比仅仅因为某些网站不知道浏览器A或类似的蠢事而需要将我的浏览器A伪装成浏览器B更令人恼火的了。

浏览嗅探很难做到,因为许多用户代理试图模仿其他人来通过程序员诱导的限制。如果您特别想要制作一个移动友好的样式表,那么使用LINK标签的“media”属性是一个针对特定设备的好方法。i、 e

<link rel="stylesheet" type="text/css" href="base.css" media="all"/>
<link rel="stylesheet" type="text/css" href="mobile.css" media="handheld"/>

第一个样式表将应用于所有媒体类型,而第二个样式表将仅应用于“移动”设备

如果您正在寻找只针对IE的方法,请查看条件注释:


aa有关控制iPhone视窗的更多信息,请查看苹果的这篇文章:

他在哪里提到过iPhone?@Josh只是以它为例。根据他修改后的问题,你似乎是对的!他也没有提到PHP,我确实是用PHP实现的。很抱歉,问题不够清楚。这里有一篇文章介绍了如何在Rails中执行这类操作:除了页眉不是浏览器的可靠指示器。@Rob,没有浏览器的可靠指示器。浏览器可以假装成他们想要的任何东西。见鬼,浏览器可能只是某个人在终端上打字。用户代理只是自我声明的标准方法。@tioflin-Um。我刚才就是这么说的。@Rob,好的。我只是澄清一下,因为听起来你好像在说用户代理标题不是最可靠的指标:还有一个更可靠的指标我没有提到。其他浏览器在移动设备上使用的屏幕是否更少/更多?这与计算机显示有什么不同?我们需要消除横向滚动以查看信息。我们需要最大化屏幕上可以看到的信息。