Efectivamente, la clave está en display:inline en vez de floats.
Estaba justo probándolo:
Código:
ul {
list-style-type: none;
margin: 0 auto;
padding: 0;
text-align: center;
background-color: #006600;
}
div {
background-color: #000000;
padding: 10px;
}
li {
display: inline;
background-color: #FF9900;
padding: 5px;
margin: 1px;
}
<div>
<ul>
<li>elemento 1</li>
<li>elemento 2</li>
<li>elemento 3</li>
</ul>
</div>