Posizionare il bordo all'interno del div e non sul suo bordo
Ho un elemento <div>
e voglio metterci un bordo. So che posso scrivere style="border: 1px solid black"
, ma questo aggiunge 2px ad ogni lato del div, che non è quello che voglio.
Preferirei che questo bordo fosse a -1px dal bordo del div. Il div stesso è 100px x 100px, e se aggiungo un bordo, allora devo fare un po' di matematica per far apparire il bordo.
C'è un modo per far apparire il bordo e garantire che il box sia ancora di 100px (incluso il bordo)?
461
3
Imposta la proprietà
box-sizing
aborder-box
:Funziona su IE8 & above.
Potete anche usare box-shadow in questo modo:
Esempio qui: http://jsfiddle.net/nVyXS/ (passare il mouse per visualizzare il bordo)
Questo funziona solo nei browser moderni. Per esempio: Nessun supporto per IE 8. Vedi caniuse.com (box-shadow feature) per maggiori informazioni.
per un rendering coerente tra i nuovi e i vecchi browser, aggiungi un doppio contenitore, l'esterno con la larghezza, l'interno con il bordo.
questo ovviamente solo se la tua larghezza precisa è più importante che avere del markup extra!