Suponha que você tenha algum estilo e a marcação:
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 você vê isso. O <ul>
possui uma barra de rolagem na parte inferior, embora eu tenha especificado valores visíveis e ocultos para o estouro x / y.
(observado no Chrome 11 e ópera (?))
Eu estou supondo que deve haver alguma especificação do w3c ou algo dizendo isso para acontecer, mas para a minha vida eu não consigo entender o porquê.
UPDATE: - Encontrei uma maneira de obter o mesmo resultado adicionando outro elemento ao redor do ul
. Confira.
overflow-x hidden;
ele remove o pergaminho, mas como eu preciso dos elementos li para ocultar a borda na parte inferior, para que ele tenha o efeito tracejado desejado. Não entendo por que overflow-x: visible
cria uma barra de rolagem. Não deveria afaik.
overflow: hidden;
e em um filho inserido ao redor do <ul>
ser overflow: visible
.