50 votes

empêcher les div de prendre 100 % de largeur

<div style="position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px;">

  <div style="
         border: 2px solid black;
         margin: 0 auto;
         text-align: center;
         padding: 3px;">

    Hello<br />Hola

  </div>

  <div style="
         border: 2px solid black;
         margin: 0 auto;
         text-align: center;
         padding: 3px;">

    Another Sentence

  </div>

</div>

J'ai un problème : les bordures de la div intérieure s'étendent sur toute la largeur de la page, mais je veux qu'elles n'encadrent que le contenu à l'intérieur. Si j'utilise : display: inline les bordures encadrent chaque ligne séparément et se chevauchent, de sorte que cela ne fonctionne pas - quelqu'un peut-il m'aider ?

PS les styles ne sont pas déclarés comme ça dans le document original mais dans une feuille de style

83voto

meder Points 81864

Attribuer une largeur à l'élément en position absolue ? Si vous recherchez un emballage sous film rétractable, float:left ou display:inline-block sont parfaits pour cela.

21voto

Nikita Rybak Points 36641

Essayez display:inline-block , cela m'aide toujours dans des situations comme celle-ci.

http://jsfiddle.net/FaYLk/

8voto

David Lawrence Points 174

Ce n'est pas aussi simple à faire :

 display: inline-block;

Vous devez faire plus que cela pour traverser le navigateur.

 display: inline-block;
display: -moz-inline-stack; /* for firefox 2 */
*display: inline; /* for ie 6 and 7 */

3voto

James111 Points 948

Mettez un récipient autour de tout le contenu. Par exemple

 <div class='container'> <div>I wont be 100%</div> <div>Nor will I :)</div> </div>
.container{ display: inline-block; } 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X