Supposons que vous ayez un certain style et le balisage:
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>
Lorsque vous affichez cela. Le <ul>
a une barre de défilement en bas même si j'ai spécifié des valeurs visibles et cachées pour le débordement x / y.
(observé sur Chrome 11 et opéra (?))
Je suppose qu'il doit y avoir des spécifications W3C ou quelque chose qui disent que cela doit arriver, mais pour la vie de moi, je ne peux pas comprendre pourquoi.
MISE À JOUR: - J'ai trouvé un moyen d'obtenir le même résultat en ajoutant un autre élément enroulé autour du ul
. Vérifiez-le.
overflow-x hidden;
il supprime le défilement, mais comme j'ai besoin des éléments li pour masquer la bordure en bas, il donne donc l'effet pointillé souhaité. Je ne comprends pas pourquoi overflow-x: visible
crée une barre de défilement. Cela ne devrait pas afaik.
overflow: hidden;
et un enfant inséré autour de l' <ul>
être overflow: visible
.