Visual formatting model - 9.4.1 Block formatting contexts
galleggianti, elementi posizionati in modo assoluto, i contenitori di blocchi (come linea blocchi, tovaglie, celle e tabella sottotitoli) che non sono bloccano scatole e scatole di blocco con 'troppopieno 'diverso da' visible ' (tranne quando tale valore è stato propagato al viewport) stabilisce nuovi contesti di formattazione dei blocchi per il loro contenuto.
In particolare, viene stabilito un nuovo contesto di formattazione dei blocchi quando viene modificata la proprietà di overflow. Per impostazione predefinita, il valore di una proprietà di vertical-align
di un elemento è baseline
. Puoi semplicemente cambiarlo in qualcosa come top
per risolvere questo problema.
Updated Example
span.yavbc-color-tip span {
display: inline-block;
padding: 3px;
border-radius: 8px;
border: none;
background-color:#005e8e;
color:#7cd3ff;
overflow-x: hidden; /* This gives extra space under this span. Why? */
vertical-align:top;
}
Avviso questo non accade quando il display del elemento non è cambiato in inline-block
? Non si verifica con gli elementi inline
- example dimostrando ciò.
fonte
2014-05-07 22:17:37
Grazie Josh, infatti "vertical-align" sulla campata interna lo fissa. Anche se non riesco a capire perché. Posso forse capire perché hai provato questo cambiamento, ma le regole in 9.4.1 parlano solo di "nuovi contesti di formattazione dei blocchi". La span interna non si sposta verticalmente (o lo fa ???) quando si aggiunge 'vertical-align: top'. – Leo
È interessante notare che questo non accade quando il display dell'elemento è 'block'. Le specifiche citate sembrano separare "contenitori di blocchi che non sono block box" (blocchi in linea) e "block box con 'overflow' diversi da 'visible'", che non include strettamente questo caso (un 'inline-block' con 'overflow' diverso da' visible'). – Kylok