Supponiamo di avere un certo stile e il markup:
ul
{
white-space: nowrap;
overflow-x: visible;
overflow-y: hidden;
/* added width so it would work in the snippet */
width: 100px;
}
li
{
display: inline-block;
}
<div>
<ul>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
</ul>
</div>
Quando lo vedi. L' <ul>
ha una barra di scorrimento in basso, anche se ho specificato i valori visibili e nascosti per troppo pieno x / y.
(osservato su Chrome 11 e opera (?))
Immagino che ci debbano essere alcune specifiche del W3C o qualcosa che dice che ciò accada, ma per la mia vita non riesco a capire perché.
AGGIORNAMENTO: - Ho trovato un modo per ottenere lo stesso risultato aggiungendo un altro elemento racchiuso in ul
. Controlla.
overflow-x hidden;
rimuove lo scroll, ma poiché ho bisogno degli elementi li per nascondere il bordo in basso in modo da dare l'effetto tratteggiato desiderato. Non capisco perché overflow-x: visible
crea una barra di scorrimento. Non dovrebbe avere paura.
overflow: hidden;
e un bambino inserito attorno <ul>
all'essere overflow: visible
.