{"id":878,"date":"2017-03-19T10:43:57","date_gmt":"2017-03-19T09:43:57","guid":{"rendered":"http:\/\/lamartinieredesign.fr\/?p=878"},"modified":"2023-02-02T08:32:33","modified_gmt":"2023-02-02T07:32:33","slug":"html-tips-espaces-indesirables","status":"publish","type":"post","link":"https:\/\/lamartinieredesign.fr\/?p=878","title":{"rendered":"HTML TIPS : Espaces ind\u00e9sirables"},"content":{"rendered":"<p>Dans certaines situations de composition d&rsquo;images, en mosa\u00efque notamment, lorsqu&rsquo;on veut coller des \u00e9l\u00e9ments, il arrive que des d\u00e9fauts d&rsquo;espace apparaissent, aussi bien en bas que sur les c\u00f4t\u00e9s.<\/p>\n<h4>L&rsquo;espace sous une image dans un bloc<\/h4>\n<p>Quand on place une image dans un conteneur de type block, il arrive qu&rsquo;un espace ind\u00e9sirable de quelques pixels apparaisse sous l&rsquo;image.<\/p>\n<p>Testez le code HTML suivant (\u00e0 placer dans <code>body<\/code>), attribuez dans les css une couleur d&rsquo;arri\u00e8re plan gris \u00e0 body et blanc \u00e0 la div, et observez le ph\u00e9nom\u00e8ne, un espace blanc sous l&rsquo;image :<\/p>\n<p><code>&lt;div class=\"espace_h\"&gt;&lt;img src=\"image.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<\/code><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-890\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces01.png\" alt=\"\" width=\"440\" height=\"521\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces01.png 440w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces01-253x300.png 253w\" sizes=\"(max-width: 440px) 100vw, 440px\" \/><\/p>\n<p>Cela s&rsquo;explique par le fait qu&rsquo;une image a le m\u00eame comportement que du texte et qu&rsquo;elle est align\u00e9e par d\u00e9faut sur la ligne de base du texte. La partie descendante du texte (m\u00eame s&rsquo;il n&rsquo;y en a pas), correspond \u00e0 l&rsquo;espace observ\u00e9.<\/p>\n<p>Pour le supprimer, il faut modifier l&rsquo;alignement vertical de l&rsquo;image par d\u00e9faut, sur la valeur <code>bottom<\/code> ou <code>middle, dans les css<\/code>.<\/p>\n<p><code>.espace_h img {<br \/>\n<\/code><code>\u00a0\u00a0 vertical-align: bottom;<br \/>\n<\/code><code>}<\/code><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-891\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces02-300x237.png\" alt=\"\" width=\"240\" height=\"189\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces02-300x237.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces02.png 570w\" sizes=\"(max-width: 240px) 100vw, 240px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-889\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces03-300x237.png\" alt=\"\" width=\"240\" height=\"189\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces03-300x237.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/spaces03.png 570w\" sizes=\"(max-width: 240px) 100vw, 240px\" \/><\/p>\n<p>Plus de d\u00e9tails sur ce ph\u00e9nom\u00e8ne en consultant le lien suivant :<\/p>\n<p>https:\/\/www.alsacreations.com\/astuce\/lire\/52-espaces-sous-les-images.html<\/p>\n<h4>L&rsquo;espace sur les c\u00f4t\u00e9s des blocs (white space)<\/h4>\n<p>Lorsqu&rsquo;on utilise la propri\u00e9t\u00e9 css <code>inline-block<\/code> pour aligner des \u00e9l\u00e9ments de type block \u00e0 l&rsquo;horizontale, il se produit un espace vertical ind\u00e9sirable d&rsquo;environ 4 pixels entre les blocs. C&rsquo;est un d\u00e9faut d&rsquo;interpr\u00e9tation des navigateurs r\u00e9cents, d\u00fb aux espaces pr\u00e9sents dans le code HTML lui-m\u00eame.<\/p>\n<p>Testez le code HTML suivant (\u00e0 placer dans <code>body<\/code>), attribuez dans les css une couleur d&rsquo;arri\u00e8re plan gris \u00e0 body et blanc \u00e0 la div, et observez le ph\u00e9nom\u00e8ne, un espace gris entre les deux images :<\/p>\n<p><code>&lt;div class=\"espace_v\"&gt;&lt;img src=\"image1.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<br \/>\n&lt;div class=\"espace_v\"&gt;&lt;img src=\"image2.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<br \/>\n<\/code><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-897\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_01.png\" alt=\"\" width=\"640\" height=\"410\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_01.png 640w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_01-300x192.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Il n&rsquo;y a pas de moyen rationnel d&rsquo;y rem\u00e9dier, mais plusieurs astuces.<\/p>\n<p>La premi\u00e8re solution consiste \u00e0 coller le code des \u00e9l\u00e9ments s\u00e9par\u00e9s par un espace, directement dans le HTML. Ainsi, le code ci-dessus deviendrait, et le probl\u00e8me serait r\u00e9solu :<\/p>\n<p><code>&lt;div class=\"espace_v\"&gt;&lt;img src=\"image1.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;&lt;div class=\"espace_v\"&gt;&lt;img src=\"image2.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<\/code><\/p>\n<p>C&rsquo;est la solution la plus efficace et la plus s\u00fbre, mais elle rend le code inconfortable \u00e0 lire. Une solution interm\u00e9diaire consiste \u00e0 utiliser des commentaires HTML (ici en rouge). Cette solution fonctionne plut\u00f4t bien, \u00e0 condition de prendre soin de ne taper aucun espace entre le code normal et le code du commentaire, exactement comme ci-dessous :<\/p>\n<p><code>&lt;div class=\"espace_v\"&gt;&lt;img src=\"image1.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<span style=\"color: #ff0000;\">&lt;!--<\/span><br \/>\n<span style=\"color: #ff0000;\">--&gt;<\/span>&lt;div class=\"espace_v\"&gt;&lt;img src=\"image2.jpg\" alt =\"\" \/&gt;&lt;\/div&gt;<\/code><\/p>\n<p>Enfin, d&rsquo;autres solutions existent, en utilisant le css. Elles sont moins fiables que les pr\u00e9c\u00e9dentes. La plus courante consiste \u00e0 placer un <code>font-size: 0<\/code>;\u00a0 sur le parent, soit ici <code>body :<\/code><\/p>\n<p><code>body { font-size: 0; }<\/code><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-900\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_02.png\" alt=\"\" width=\"640\" height=\"410\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_02.png 640w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2017\/03\/espace_v_02-300x192.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Plus de d\u00e9tails sur ce ph\u00e9nom\u00e8ne en consultant le lien suivant :<\/p>\n<p>https:\/\/www.alsacreations.com\/astuce\/lire\/1432-display-inline-block-espaces-indesirables.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans certaines situations de composition d&rsquo;images, en mosa\u00efque notamment, lorsqu&rsquo;on veut coller des \u00e9l\u00e9ments, il arrive que des d\u00e9fauts d&rsquo;espace apparaissent, aussi bien en bas que sur les c\u00f4t\u00e9s. L&rsquo;espace sous une image dans un bloc Quand on place une image dans un conteneur de type block, il arrive qu&rsquo;un espace ind\u00e9sirable de quelques pixels &hellip; <a href=\"https:\/\/lamartinieredesign.fr\/?p=878\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">HTML TIPS : Espaces ind\u00e9sirables<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[2],"tags":[],"modified_by":"adm_art_in","_links":{"self":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/posts\/878"}],"collection":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=878"}],"version-history":[{"count":11,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/posts\/878\/revisions"}],"predecessor-version":[{"id":901,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/posts\/878\/revisions\/901"}],"wp:attachment":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}