Détails
Placer la bordure à l'intérieur du div et non sur son bord
J'ai un élément " div> " et je veux y mettre une bordure. Je sais que je peux écrire style="border : 1px solid black"
, mais cela ajoute 2px de chaque côté du div, ce qui n'est pas ce que je veux.
Je préférerais que cette bordure soit à -1px du bord de la division. La division elle-même mesure 100px x 100px, et si j'ajoute une bordure, je dois faire des calculs mathématiques pour la faire apparaître.
Existe-t-il un moyen de faire apparaître la bordure tout en garantissant que le cadre sera toujours de 100px (bordure comprise) ?
461
3
Définissez la propriété
box-sizing
surborder-box
:Cela fonctionne sur [IE8 & ; above][1].
[1] : http://caniuse.com/#search=box-sizing
Vous pouvez également utiliser l'ombre de la boîte comme ceci :
Exemple ici : http://jsfiddle.net/nVyXS/ (survoler pour voir la bordure)
Cela ne fonctionne que dans les navigateurs modernes. Par exemple : Pas de support pour IE 8. Voir caniuse.com (fonction box-shadow) pour plus d'informations.
pour un rendu cohérent entre les nouveaux et les anciens navigateurs, ajoutez un double conteneur, l'extérieur avec la largeur, l'intérieur avec la bordure.
ceci n'est évidemment possible que si votre largeur précise est plus importante que d'avoir des balises supplémentaires !