2014-04-26 2 views
1

J'ai un div avec du texte, et je veux créer un espace carré sur le côté droit, après le texte.La largeur de l'image dans le conteneur à hauteur dynamique n'affecte pas la largeur du conteneur

Je ne peux pas simplement fixer un padding-right fixe parce que je veux le faire fonctionner pour n'importe quelle taille de texte.

C'est ce que j'ai:

<div class="wrapper"> 
    <table class="size-maker" cellpadding="0" cellspacing="0"> 
     <tr> 
      <td>Hello!</td> 
      <td class="ratio-1x1"> 
       <!-- just 1x1 transparent image to maintain 1x1 aspect ratio when resized --> 
       <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=" />  
      </td> 
     </tr> 
    </table> 
    <div class="content"></div> 
</div> 

<style type="text/css"> 
    .wrapper { 
     background: #0055cc; 
     position: relative; 
     display: inline-block; 
    } 

    .size-maker { 
     font-size: 20px; 
     color: white; 
    } 

    .size-maker .ratio-1x1 { 
     height: 100%; /* need for FireFox */ 
    } 
    .size-maker .ratio-1x1 img { 
     height: 100%; 
     background: rgba(0,0,0,0.5); 
    } 

    .content { 
     background: #00DD00; 
     position: absolute; 
     top: 150%; 
     left: 0; 
     width: 100%; 
     height: 100%; 
    } 
</style> 

<br/><br/><br/><br/><br/> 
<h3>Task</h3> 
<p>Black square should be inside of blue, and green square should have the size of both blue+black</p> 
<p style="color: gray;"><em>This should work for any font size <b><code>.size-maker { font-size: ...px; }</code></b></em></p> 

Link to sourcebox

+1

Est-il important de conserver le balisage que vous avez i.e tables et divs dans l'ordre spécifique que vous avez en ce moment? & qu'est-ce que vous voulez dire par carré noir devrait être à l'intérieur de bleu? –

+1

Veuillez ajouter un code significatif et une description du problème ici. Ne faites pas que lier au site à corriger - sinon, cette question perdra toute valeur aux futurs visiteurs une fois le problème résolu. L'affichage d'un [Short, Self Contained, Exemple correct (SSCCE)] (http://www.sscce.org/) qui démontre votre problème vous aiderait à obtenir de meilleures réponses. Pour plus d'informations, voir [Quelque chose sur mon site web ne fonctionne pas. Puis-je simplement coller un lien vers -il?] (Http://meta.stackexchange.com/questions/125997/) Merci! – j08691

+0

@ j08691, Merci – moldcraft

Répondre

1

utilisation EM pour le rembourrage relatif.

Sourcebox

Je viens d'ajouter padding-right:1.15em à .size-maker

.size-maker { 
    font-size: 20px; 
    color: white; 
    padding-right: 1.15em; 
} 

Où 1em = 100% de l'élément ou la taille de la police de l'élément parent.

Dans ce scénario, 1.15em sera 115% de 20px (taille de police).

+0

Merci! Le 'em' fait l'affaire http://sourcebox.io/60e3673bbfc8aaac84165495dfc658bb/html – moldcraft

+0

J'ai créé un plugin jQuery en utilisant ce https://github.com/moldcraft/adaptive-switch – moldcraft

Questions connexes