为什么 text-overflow: ellipsis 不适用于 display: inline-flex 在 Firefox 中?
Why doesn't text-overflow: ellipsis not work with display: inline-flex in Firefox?
使用长面包屑时,例如text-overflow: ellipsis;
,Firefox 的行为不同于 Chrome 和 Internet Explorer。
首先我必须创建特殊条件来专门针对 Firefox,例如 display: inline-flex;
使文本显示,但省略号仍然不显示。
对于 Chrome 和 IE:
.easy-breadcrumb {
text-overflow: ellipsis;
max-width: 860px;
/* Required for text-overflow to do anything */
white-space: nowrap;
overflow: hidden;
}
#path .menu-breadcrumb,
#path .easy-breadcrumb {
display: inline-block;
margin-bottom: -5px;
}
Firefox
@supports (-moz-appearance:none) {
.easy-breadcrumb {
overflow: hidden;
text-overflow: ellipsis;
}
}
@supports (-moz-appearance:none) {
#path .menu-breadcrumb,
#path .easy-breadcrumb {
display: inline-flex;
white-space: nowrap;
max-width: 860px;
}
}
除了 Firefox 最大宽度 860px 之后的 ...
之外,所有浏览器都可以显示文本。你知道这是什么原因吗?
如果我删除黄色和绿色的 span,它将与上面的代码一起工作,但我不知道是否可以出于某种原因在 Drupal 中删除它。
我能够重现您的问题。原来问题出在 display:inline-block;
属性 上。下面是我修改的部分:
#breadcrumbs a,
#breadcrumbs span {
/*display: inline-block;*/
text-decoration: none;
}
Here 是更新后的 CodePen。
使用长面包屑时,例如text-overflow: ellipsis;
,Firefox 的行为不同于 Chrome 和 Internet Explorer。
首先我必须创建特殊条件来专门针对 Firefox,例如 display: inline-flex;
使文本显示,但省略号仍然不显示。
对于 Chrome 和 IE:
.easy-breadcrumb {
text-overflow: ellipsis;
max-width: 860px;
/* Required for text-overflow to do anything */
white-space: nowrap;
overflow: hidden;
}
#path .menu-breadcrumb,
#path .easy-breadcrumb {
display: inline-block;
margin-bottom: -5px;
}
Firefox
@supports (-moz-appearance:none) {
.easy-breadcrumb {
overflow: hidden;
text-overflow: ellipsis;
}
}
@supports (-moz-appearance:none) {
#path .menu-breadcrumb,
#path .easy-breadcrumb {
display: inline-flex;
white-space: nowrap;
max-width: 860px;
}
}
除了 Firefox 最大宽度 860px 之后的 ...
之外,所有浏览器都可以显示文本。你知道这是什么原因吗?
如果我删除黄色和绿色的 span,它将与上面的代码一起工作,但我不知道是否可以出于某种原因在 Drupal 中删除它。
我能够重现您的问题。原来问题出在 display:inline-block;
属性 上。下面是我修改的部分:
#breadcrumbs a,
#breadcrumbs span {
/*display: inline-block;*/
text-decoration: none;
}
Here 是更新后的 CodePen。