Опечатка в -
0-linear-gradient, должно быть -
o-linear-gradient.
Ещё, как минимум, косяки с фильтрами и #textColor вместо @textColor.
Как-то так должно быть:
codepen.io/27cm/pen/meKgVW?editors=010@mainColor: #233A59;
@mainColor2: lighten(@mainColor, 30%);
@textColor: #f4f4f4;
div#nav {
ul{
li{
list-style: none;
a {
text-decoration: none;
font-family: verdana;
font-size: 14px;
color: @textColor;
float: left;
padding: 15px 30px;
border-right: 1px solid fadeout(@textColor, 60%);
.gradient(@mainColor2, @mainColor);
&:hover {
.gradient (@mainColor, @mainColor2);
}
}
}
}
}
.gradient (@col, @col2) {
background-color: @col;
background-image: -webkit-gradient(linear, left top, left bottom, from (@col), to (@col2));
background-image: -webkit-linear-gradient(top, @col, @col2);
background-image: -moz-linear-gradient(top, @col, @col2);
background-image: -ms-linear-gradient(top, @col, @col2);
background-image: -o-linear-gradient(top, @col, @col2);
background-image: linear-gradient(top, @col, @col2);
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorStr='@{col}', EndColorStr='@{col2}')";
-ms-filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorStr='@{col}', EndColorStr='@{col2}')";
}
К слову, не нужно использовать примеси для расстановки вендорных префиксов. Для этого есть
autoprefixer.