20/28 - 100% Проверьте адекватность кода :D

html,
body {
margin: 0;
padding: 0;
}

body {
width: 500px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}
.main-menu {
list-style: none;
margin: 0;
margin-left: 5px;
padding: 0;
}
.main-menu li{
display: inline-block;
}
.main-menu a{
text-decoration: none;
display: block;
margin-left: -5px;
padding: 10px 15px;
border-left: 2px solid #2c3e50;
background-color: #2980b9;
color: white;
}
.main-menu > .active a{
background-color: #1abc9c;
}
.main-menu li:last-child a{
padding-right: 40px;
}

Так ширину таки можно менять?

так можно задать ширину любому элементу

Мне кажется, что можно было сделать короче, ширину тоже можно было не трогать. Мой пример, приблизительно, такой:
.main-menu {
margin: 0;
padding: 0;
list-style: none;
background: #2980b9;
white-space: nowrap;
}
.main-menu li {
display: inline-block;
border-left: 2px solid #2c3e50;
padding: 10px 15px;
margin-right: -5px;
text-decoration: none;

}
.main-menu a {
display: block;
text-decoration: none;
color: #ffffff;
}
.main-menu .active {
background: #1abc9c;
}

Размеры лучше задавать ссылкам.