JS Fiddle
Прочитав статью A List Apart о раздвижных дверях , я занялся решением этой проблемы. Я использовал предложение Абхидева разделить изображение на три части.
Это решение также позволяет уменьшить ширину каждого элемента списка (например, предоставить значение, отличное от auto, элементу anchor ).
CSS
nav {
font-family: sans-serif;
font-size: 24px;
font-weight: 700;
}
nav ul {
height: 107px;
}
nav li {
display: inline-block;
height: 107px;
position: relative;
}
nav a {
display: inline-block;
color: #d92701;
text-decoration: none;
line-height: 4.5;
overflow: hidden;
height: 107px; width: auto;
background: transparent url('nav.background.expand.middle.png') repeat-x left top;
position: relative;
top: 0;
white-space:nowrap;
}
nav li:before {
content: "";
float: left;
width: 64px;
height: 107px;
margin: 0;
background: transparent url('nav.background.expand.begin.png') no-repeat left top;
}
nav li:after {
content: "";
float: right;
width: 58px;
height: 107px;
margin: 0;
background: transparent url('nav.background.expand.end.png') no-repeat right top;
}
HTML
<nav><ul><li><a href="">Hello World</a></li><li><a href="">Hello</a></li><li><a href="">Hello World Hello World</a></li></ul></nav>