J'ai un div avec le code suivant
HTML:
<div id='imgContainer'>
<img src='/img/logo.png' id='imglogo'></img>
</div>
CSS
div#imgContainer {
width: 250px;
height: 250px;
padding: 13px;
}
Le problème, c’est que les utilisateurs peuvent modifier la taille de l’image, la couleur et quelques autres éléments. Je souhaite donc que la taille de la division s’agrandisse à mesure que l’image grandit. Je veux que la largeur et la hauteur de la div soient de 250 pixels si l'image est plus petite que celle-ci, mais de plus en plus grandes à mesure que l'image s'agrandit.
La solution peut être en PHP, JavaScript, CSS ou jQuery.
Essaye ça:
div#imgContainer {
min-width: 250px;
min-height: 250px;
padding: 13px;
display: inline-block;
}
Merci à @ahren et @Mohsen
Cela fera le travail:
div{
border:1px solid black; /* you can remove this */
box-sizing:border-box; /* you can remove this */
padding:13px;
min-width:250px;
min-height:250px;
display:inline-block;
}
Vous pouvez donc utiliser float sur votre div ou simplement utiliser display: inline-block manuellement.
Voici un exemple: http://jsfiddle.net/mxykW/
Flotter le div fonctionne-t-il avec votre mise en page? Cela entraînera sa largeur à l'image contenue.
div#imgContainer {
min-width: 250px;
min-height: 250px;
padding: 13px;
float: left;
}
Si vous devez le supprimer, ajoutez un élément d'habillage avec overflow: hidden
.
php est très utile dans ce domaine car il a la fonction ' getimagesize ':
<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp);
exit;
} else {
// error
}
?>
div#imgContainer {
min-height: 250px;
min-width: 250px;
width: Auto;
height: Auto;
padding: 13px;
}
utilisez ce code:
div#imgContainer {
min-width: 250px;
min-height: 250px;
padding: 13px;
display: inline-block;
}