Cela semble être un problème courant, mais aucune des solutions que j'ai trouvées n'a fonctionné pour moi.
<html>
<head>
<link rel="stylesheet" href="c/lasrs.css" type="text/css" />
</head>
<body>
<div class="header">
<img src="i/header1.png">
</div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam cursus.
Morbi ut mi. Nullam enim leo, egestas id, condimentum at, laoreet mattis,
massa. Sed eleifend nonummy diam. Praesent mauris ante, elementum et,
bibendum at, posuere sit amet, nibh.</p>
</div>
</body>
</html>
body {
min-width: 950px;
background-color: #FFFFFF;
color: #333333;
}
.header {
width: 950px;
height: 171px;
margin: 0px auto;
padding: 0px;
background-color: #CCCCCC;
position: relative;
}
.content {
width: 950px;
margin: 0px auto;
padding: 0px;
background-color: #E3EEF9;
position: relative;
}
J'ai délibérément cassé le chemin de l'image et défini une couleur d'arrière-plan pour le .header
div pour que je puisse voir s'ils se touchaient. Voici à quoi ressemble ma page:
Comme vous pouvez le voir, j'ai essayé de définir le remplissage et les marges des deux divs
sur 0.
Pourquoi y a-t-il encore un écart?
Cela est dû aux éléments suivants:
Les navigateurs ajoutent automatiquement de l'espace (marge) avant et après chaque
<p>
élément. Les marges peuvent être modifiées avec CSS (avec les propriétés de marge).
Alors essayez:
p {
margin: 0px;
}
Remarque: les navigateurs ajoutent également un style par défaut à d'autres éléments ! Cela peut être à la fois utile et ennuyeux dans différentes situations. Il y a trois façons de procéder:
*{ margin:0; padding:0; }
réinitialiser l'approche ( lire ici pourquoi )Normalisez la feuille de style à vos propres valeurs par défaut . Un grand ennui des webdesigners est que différents navigateurs utilisent différents styles par défaut. Cependant, un réinitialisation complète s'accompagne du problème fastidieux de redéfinir les styles de tous les éléments. Par conséquent, vous pouvez normaliser tous les styles par défaut des navigateurs en utilisant un ensemble prédéfini de styles par défaut cohérents et sensés. L'approche courante consiste à utiliser normalize.css pour cela ( Twitter, Github et SoundCloud utilisez ceci!)
Ajustez les valeurs par défaut si nécessaire ou contournez consciemment les valeurs par défaut . La façon la plus courante (sans dire que c'est la meilleure) de travailler avec les valeurs par défaut est de savoir elles existent et de les ajuster si nécessaire. Les styles par défaut sont là pour une raison: ils peuvent aider les développeurs à obtenir rapidement l'apparence qu'ils recherchent. Le look est-il légèrement décalé? Ajustez simplement les styles en conséquence. Cependant, assurez-vous d'utiliser les balises correctes pour les éléments corrects. Par exemple, au lieu de supprimer le <p>
marges pour textes en ligne , vous devez utiliser le <span>
tag (pas de valeur par défaut margin
)
Cela devrait vous aider à comprendre ce qui se passe dans les coulisses.
Vos marges dans les paragraphes débordent de la div (c'est normal), vous pouvez soit définir
p {
margin: 0;
}
ou appliquez un débordement caché à vos divs
div {
overflow: hidden;
}
utilisation
*{
padding:0;
margin:0;
}
dans ton style
Les deux divs se touchent. La marge/remplissage des DIVs est toujours 0 par défaut, donc vos modifications n'ont aucun effet. Le <p>
a cependant une marge, et comme il est imbriqué dans le div, il semble que le div ait un remplissage.
p {
margin: 0;
}
va résoudre ce problème.
Essayez d'utiliser des css de réinitialisation, car tous les navigateurs sont livrés avec des marges de liens de style par défaut, des rembourrages, des hauteurs de ligne, des styles de police et vous devez commencer à partir d'éléments sans style.
Je recommande d'utiliser Eric Meyer reset CSS ( http://meyerweb.com/eric/tools/css/reset/ )
Ajoutez ceci:
*{
margin: 0;
padding: 0;
}