Pourquoi ne pas #img1
et #canvas1
chevauchent complètement le code suivant? Je les veux exactement au même endroit. Je superpose des images avec une animation javascript sur toile. Les premières réflexions étaient que les paramètres de remplissage ou de marge par défaut interféraient quelque part. J'ai essayé de mettre à zéro pour tous les éléments - cela ne fonctionne pas. Je comprends que position:relative
positionne un élément relatif à sa position normale. Il est clair que manquant un paramètre par défaut ou quelque chose d'évident ..Quel CSS par défaut m'empêche de chevaucher complètement deux éléments avec un positionnement relatif?
<!DOCTYPE html>
<html>
<head>
<style>
.chapter {
width: 90%;
margin: 0 auto;
max-width: 1000px;
border: 1px solid red;
}
#img1 {
border: 1px solid green;
position: relative;
left: 50px;
height: 100px;
width: 100px;
margin: 0px;
padding: 0px;
}
#canvas1 {
border: 1px solid blue;
position: relative;
left: -50px;
height: 100px;
width: 100px;
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<div class="template" id="T2">
<div class="chapter" id="C2">
<h1>Why can't I overlap the below elements?</h1>
<img src="" id="img1" />
<canvas id="canvas1"></canvas>
</div>
</div>
</html>
ah bien sûr. Complètement oublié de mes frontières. merci – DVCITIS
@Johannes J'ai essayé de le résoudre, j'ai un doute, la balise 'img' a aussi des bordures droites, cela ressemble trop à l'élément' canvas', alors pourquoi devrions-nous augmenter les pixels pour 'canvas' seul? –
@NarenMurali Parce que l'image a une largeur de 52px incluant les bordures, la toile devrait normalement (sans le paramètre 'left') commencer à 52px par la gauche, donc elle doit être déplacée 52px vers la gauche pour couvrir exactement l'image. – Johannes