【问题标题】:CSS arrow breadcrumbs are looking blurry in firefoxCSS箭头面包屑在Firefox中看起来很模糊
【发布时间】:2015-08-26 09:26:29
【问题描述】:

我的箭头面包屑在 Firefox 中看起来有点模糊,但在 chrome、opera 和 ie 中却很好。 CODEPEN

这是它在 Firefox 中的样子:

我的 HTML

<div class="row">
  <div class="tab-progress btn-breadcrumb clearfix text-center">
    <div class="arrow-nav col-xs-4">1</div>
    <div class="arrow-nav col-xs-4">2</div>
    <div class="active-arrow arrow-nav col-xs-4">3</div>
  </div>
</div>

CSS:

body {
  padding: 3em;
  background: #B9B9B9;
}
.row {
  background: white;
}
.btn-breadcrumb .arrow-nav:not(:last-child):after {
  content: " ";
  display: flex !important;
  width: 0;
  height: 0;
  border-top: 27px solid rgba(255, 255, 255, 0);
  border-bottom: 27px solid rgba(255, 255, 255, 0);
  border-left: 10px solid white;
  position: absolute;
  top: 33%;
  margin-top: -17px;
  left: 100%;
  z-index: 3;
}
.btn-breadcrumb .arrow-nav:not(:last-child):before {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 27px solid rgba(255, 255, 255, 0);
  border-bottom: 27px solid rgba(255, 255, 255, 0);
  border-left: 10px solid #E6E6E6;
  position: absolute;
  top: 33%;
  margin-top: -17px;
  margin-left: 1px;
  left: 100%;
  z-index: 3;
}
.btn-breadcrumb .arrow-nav {
  padding: 15px 0 15px 0;
}
.btn-breadcrumb .arrow-nav:first-child {
  padding: 15px 0 15px 0;
}
.btn-breadcrumb .arrow-nav:last-child {
  padding: 15px 0 15px 0;
}
.active-arrow {
  background-color: #2a53a5;
  color: white;
  border-radius: 0;
}
.active-arrow .numberCircle {
  color: white;
}
.active-arrow:hover {
  color: white;
}
.active-arrow:after {
  display: flex !important;
  width: 0;
  height: 0;
  border-top: 17px solid rgba(255, 255, 255, 0);
  border-bottom: 17px solid rgba(255, 255, 255, 0);
  border-left: 10px solid #2a53a5 !important;
  position: absolute;
  top: 50%;
  margin-top: -17px;
  border-radius: 0;
  left: 100%;
  z-index: 3;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
  <div class="tab-progress btn-breadcrumb clearfix text-center">
    <div class="arrow-nav col-xs-4">1</div>
    <div class="arrow-nav col-xs-4">2</div>
    <div class="active-arrow arrow-nav col-xs-4">3</div>
  </div>
</div>

【问题讨论】:

标签: html css twitter-bootstrap firefox breadcrumbs


【解决方案1】:

我想我知道你想要什么,但你的 CSS 有点过时。

我将active-arrow 设置为实际创建箭头的那个,因此无论其位置如何,它都能准确地知道要在哪一个上执行。

body {
  padding: 3em;
  background: #B9B9B9;
}
.row {
  background: white;
}
.btn-breadcrumb .arrow-nav {
  padding: 15px 0 15px 0;
}
.btn-breadcrumb .arrow-nav:first-child {
  padding: 15px 0 15px 0;
}
.btn-breadcrumb .arrow-nav:last-child {
  padding: 15px 0 15px 0;
}
.active-arrow {
  background-color: #2a53a5;
  color: white;
  border-radius: 0;
}
.active-arrow .numberCircle {
  color: white;
}
.active-arrow:hover {
  color: white;
}
.active-arrow:before {
  content: '';
  width: 0;
  height: 0;
  border-top: 25px solid rgba(255, 255, 255, 0);
  border-bottom: 25px solid rgba(255, 255, 255, 0);
  border-left: 10px solid white;
  position: absolute;
  left: 0;
  top: 0;
}
.active-arrow:after {
  content: '';
  width: 0;
  height: 0;
  border-top: 25px dotted white;
  border-bottom: 25px dotted white;
  border-left: 10px dotted rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  right: 0;
}
.arrow-nav:last-child.active-arrow:after {
  border: none;
}
.arrow-nav:not(.active-arrow):before {
  content: '';
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 10px solid grey;
  position: absolute;
  right: -10px;
  top: 0;
}
.arrow-nav:not(.active-arrow):after {
  content: '';
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 10px solid white;
  position: absolute;
  right: -9px;
  top: 0;
}
.arrow-nav:last-child:not(.active-arrow):after,
.arrow-nav:last-child:not(.active-arrow):before {
  border: 0;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
  <div class="tab-progress btn-breadcrumb clearfix text-center">
    <div class="arrow-nav col-xs-4">1</div>
    <div class="arrow-nav col-xs-4">2</div>
    <div class="active-arrow arrow-nav col-xs-4">3</div>
  </div>
</div>
<div class="row">
  <div class="tab-progress btn-breadcrumb clearfix text-center">
    <div class="arrow-nav col-xs-4">1</div>
    <div class="active-arrow arrow-nav col-xs-4">2</div>
    <div class="arrow-nav col-xs-4">3</div>
  </div>
</div>
<div class="row">
  <div class="tab-progress btn-breadcrumb clearfix text-center">
    <div class="arrow-nav col-xs-4">1</div>
    <div class="arrow-nav col-xs-4">2</div>
    <div class="arrow-nav col-xs-4">3</div>
  </div>
</div>

【讨论】:

  • 感谢您的回答,但我仍然需要它们之间的分隔线,该线在 Firefox 中显示模糊
  • 是的!你让它看起来很容易,我应该加强我的游戏:D
  • @Eli:斯图尔特的回答很好。你会发现这个也有点用 - stackoverflow.com/questions/27636373/…(不是骗子,因为你的问题不同,但链接只是为了提供帮助)。
  • @Stewartside 非常感谢,希望有一天我能和你一样好
猜你喜欢
  • 2012-08-31
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-03-17
  • 2015-04-04
  • 2015-04-25
  • 1970-01-01
  • 2019-01-27
相关资源
最近更新 更多