Я предлагаю вам внести следующие изменения в класс a> span , чтобы решить эту проблему для браузера Firefox и IE.
a > span {
/* display: block is needed for truncation */
display:inline-block;
width:250px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
Рабочий пример:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style>
div {
font-family: Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.428571429;
color: #4d4e4c;
/* word-break is inhertied */
word-break: break-all;
width: 300px;
outline: 1px dashed #ccc;
}
ul {
}
li {
outline: 1px solid lightgrey;
}
a {
}
a > span {
/* display: block is needed for truncation */
display:inline-block;
width:250px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
</style>
</head>
<body>
<div>
<ul>
<li>
<a href="#">
<span>
<span>Item 1</span>
</span>
</a>
</li>
<li>
<a href="#">
<span>
<span>Item 2</span>
</span>
</a>
</li>
<li>
<a href="#">
<span>
<span>Item 3 is long and requires truncation</span>
</span>
</a>
</li>
</ul>
</div>
</body>
</html>
Вывод в различных браузерах: