【问题标题】:javascript to detect a browser and use a certain style sheetjavascript检测浏览器并使用特定样式表
【发布时间】:2014-06-05 22:14:10
【问题描述】:

我绝对必须将网页的单个元素放在页面上的精确位置,并且 Chrome 和 FF 之间似乎存在 14 像素的高度差,这不允许我统一放置图形两者之间。我对 IE9 和 IE8 使用了条件语句,但现在 Chrome 和 FF 存在问题。

很遗憾,我无法访问此站点的主 head 部分或主全局 CSS,并且页边距没有全局重置为 0。即使我可以这样做,也有太多的黑客和修复,所以进行全局重置会适得其反。

因此,在弄乱了这个对象的音乐椅之后,我认为我的最终解决方案(虽然对于一个图形来说不是很优雅)是为这个图像的边缘顶部编写一个样式表(实际上是一个 div图片背景),并让 javascript 检测浏览器并相应地提供样式表(即 - 如果它是 FF 则呈现此 CSS,或者如果它是 Chrome 则呈现此 CSS)。

很遗憾,我无法显示该页面,但该元素的 CSS 是:

    #telescope {
    background: url("my-image.png") no-repeat scroll 0 0 transparent;
    height: 102px;
    position: absolute;
    right: -48px;
    margin-top: 748px;
    width: 98px;
    z-index: 1;
    }

【问题讨论】:

  • 顺便说一句,我已经尝试过 top:0px;并离开:0px;在这个特定的 CSS 中,无济于事。
  • if(chrome.webstore) 可能会这样做,但如果我是你,我仍然更喜欢功能检测和跨浏览器有效 css。
  • 你试过 padding-top 0 吗?
  • 对我来说听起来有点好笑,如果已经使用 Javascript 来检测浏览器,那么就提供一个特定的样式表,而不是仅仅在相应的元素上设置所需的(顶部)边距!顺便说一句:Browserhacks 值得一看……!
  • 即使你不能显示页面,你当然可以显示一个说明问题的摘录,没有它很难回应。

标签: javascript css margin


【解决方案1】:

试着把它放在你的 CSS 的顶部:

* {
margin: 0;
padding: 0;

font-family: "Open Sans", 'Consolas', sans-serif; 
  }

html, body {height: 100%;}

【讨论】:

  • 感谢 djbhindi...但我确实提到我无法访问全局样式表,而且这会对多年来实施的众多黑客和创可贴造成严重破坏已经。
  • 我的错,没看过。似乎是一个糟糕的情况,也许最好重新开始:)。祝你好运。
  • 是的,我很想重新开始!但是,不幸的是,这不是一个选择。这是一个非常大的网站,有不同的部门,厨房里有很多厨师,而且只是一大堆东西。当开发人员没有被邀请参加设计会议时,就会发生这种事情:-/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 2012-10-18
  • 2012-04-10
  • 2012-10-23
  • 2014-10-10
相关资源
最近更新 更多