【问题标题】:CSS arrow rendering issue with FirefoxFirefox 的 CSS 箭头渲染问题
【发布时间】:2012-02-01 10:02:30
【问题描述】:

上下文

我用伪元素 :before:after 为箭头做了一个纯 CSS 工具提示。

渲染从 Chrome 16 到 Firefox 9 和 10 不同。

你看出什么问题了吗?

Chrome 截图

火狐截图

演示

http://jsfiddle.net/wDff8/ 重现了同样的问题。

代码

:

<span class="tooltip">Déposez votre fichier dans ce dossier</span>

:

span.tooltip {
  display: inline-block;
  background: #eee;
  margin-left: 20px;
  padding: 0 10px;
  color: #111;
  border-radius: 2px;
  border-top: 1px solid #bbb;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  line-height: 1.5;
  position: relative;
}

span.tooltip:before {
  content:"";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px;
  border-color: transparent #eee transparent transparent;
  left: -18px;
  top: -1px;
  z-index: 1;
}

span.tooltip:after {
  content:"";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px;
  border-color: transparent #bbb transparent transparent;
  left: -21px;
  top: -2px;
  z-index: 0;
}

body {
    font-family: Georgia;
    font-size: 12px;
    letter-spacing: 1px;
}

【问题讨论】:

  • 在 Mac 上的 Firefox 9 和 Chrome 16 中,我在您的屏幕截图中看不到问题(即较粗的箭头)。您使用的是哪个版本?
  • 您的 html 和 CSS 与您的屏幕截图不匹配(屏幕截图中的图标丢失)。您确定粘贴了问题代码的正确版本吗?
  • @PaulD.Waite:Windows 上的 Chrome 16 和 Fx 9/10。 jsfiddle.net/wDff8 重现了同样的问题。
  • @MrLister:我为正文添加了 CSS。
  • @GG。为小提琴欢呼,很棒的东西。嗯——我在 Mac 上看起来还不错,虽然如果我调整 border-width 值,我可以得到一些加厚。你没有放大 Firefox 是吗?放大似乎会产生 Firefox 屏幕截图的效果。

标签: html css html css firefox pseudo-element


【解决方案1】:

可能不是transparent,你必须在你的css中写这个rgba(238,238,238,0),检查这个以获取更多信息

CSS Transparent Border Problem In Firefox 4?

【讨论】:

  • 很好用! rgba(0,0,0,0) 用于箭头的内容和 rgba(238,238,238,0) 用于边框看起来不错。你是怎么找到 rgba(238, 238, 238, 0) 的?为什么是 238?
  • 238,238,238 是我从 photoshop 获得的 #eee 的 rgb 值
  • 好的,但我不明白。我把border-color: rgba(0,0,0,0) #eee rgba(0,0,0,0) rgba(0,0,0,0);作为内容,border-color: rgba(255,255,255,0) #bbb rgba(255,255,255,0) rgba(255,255,255,0);作为边框,渲染效果很好。
【解决方案2】:

解决方案

我刚刚删除了一些像素,从而更正了 Firefox 上的渲染。

渲染不完全相同,但足够接近。

Chrome 截图

火狐截图

演示

http://jsfiddle.net/wDff8/1/

修改后的代码

span.tooltip:after {
  border-width: 10px;
  left: -19px;
  top: -1px;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2018-08-14
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 2014-04-27
    • 2013-05-24
    相关资源
    最近更新 更多