HTML / CSS : Marge Fixe & Fluide Largeur
Comment dois-je faire cela avec CSS:
Je voudrais avoir 2 divs
ou plus et leur width
devrait être dans percent
, mais la marge entre les divs devrait être fixé, dans cet exemple 30px
Le problème pour moi est la marge entre les deux divs parce que je peux mettre des divs dans un plus grand div et ensemble à gauche et à droite de rembourrage pour 30px et c'est ok, mais que dois-je faire avec la marge entre les deux divs?
Si j'essaie d'ajouter par exemple à la première div margin-right:30px;
alors la largeur de la div sera 70% + 30px
ce sera plus de 100% et la deuxième div va tomber.
Quelle est donc la solution pour cela?
Dès que vous mettez fixe là, vous perdez la fluidité 🙂 votre meilleur pari est l'un ou l'autre
que le css est une merde! :)) Je ne crois pas en vous!
La solution est d'attendre jusqu'à ce que tous les navigateurs calc. Il peut prendre un certain temps...
Vous sir êtes un héros.
que le css est une merde! :)) Je ne crois pas en vous!
La solution est d'attendre jusqu'à ce que tous les navigateurs calc. Il peut prendre un certain temps...
Vous sir êtes un héros.
OriginalL'auteur Adam | 2011-03-01
Vous devez vous connecter pour publier un commentaire.
Est-ce assez proche?
Démo
HTML:
CSS:
Nice, vous l'avez fait! Mais comment dois-je faire avec 5 ou avec n'importe quel nombre?
30px peut être divisé en 30%/70%, donc si vous utilisez cette méthode pour pousser la gauche par 21px, et le droit par 9px ... puis pédants, comme moi seront heureux il me semble.
OriginalL'auteur thirtydot
J'ai trouvé le moyen de le faire en gardant le ratio de la largeur des conteneurs exactement 70% : 30%. Essayez ceci, fonctionne pour moi...
HTML:
CSS:
Bonne chance!
OriginalL'auteur Sonali Kar
Calc soutien est décent maintenant, de sorte que vous pouvez l'utiliser pour mélanger et assortir les unités. En utilisant cela, vous pouvez venir avec quelque chose qui fonctionne assez bien:
http://jsfiddle.net/CYTTA/1/
Vous pourriez avoir à préfixe calc avec -webkit ou -moz.
La largeur de la première est de 70%, moins la marge de gauche (30px) et moins de la moitié de la moyenne de la marge (15px). Le second est de 30%, moins la marge de droite (30px) et moins de la moitié de la moyenne de la marge (15px).
Alors que les largeurs de ne pas être exactement égal à 70% et 30%, vous aurez un fluide de mise en page avec des marges fixes.
OriginalL'auteur ahuth
C'est peut-être évident, et vous l'avez probablement déjà compris, mais (70% + 30% + 30px) > 100%. Sans une sorte de calculateur capacité, cela ne fonctionne pas, et CSS2 ne semble pas avoir cette capacité. Javascript pourrait le faire, comme une autre affiche a suggéré, et CSS 3 est en raison de l'ajouter, apparemment.
Pas que c'est une solution à votre demande, mais vous pouvez appliquer une largeur fixe sur la main droite du conteneur, et de maintenir la fluidité sur la gauche.
L'original de l'intervenant est correct bien, votre meilleur pari est l'un ou l'autre.
OriginalL'auteur Jeff Parker
Ici ma solution.
html
css
Démo: http://jsfiddle.net/GEkG7/1/
OriginalL'auteur Sotiris
Ouais, ma solution a été semblable aux autres. Un
#wrap
a30px
rembourrage,#main
et#side
ont leurs pourcentages fixés et flottait à gauche et à droite respectivement.#main
a une<div>
à l'intérieur avec30px
de la marge de droite.http://jsfiddle.net/Marcel/FdMFh/embedded/result/
Fonctionne très bien dans tous les navigateurs modernes que j'ai installé (Chrome, Firefox, Safari, Opera, IE9 RC), je suis sûr que ça va briser quelque part plus âgés, mais devrait être résolu.
OriginalL'auteur Marcel
Thirtydot a une belle réponse (jusqu'voter de moi) pour régler la gauche de positionnement de la div par rapport à son conteneur, je voudrais seulement suggérer qu'il peut avoir besoin d'être testé dans certains navigateurs, tels que les anciennes versions d'Internet Explorer.
Vous pouvez également envisager que le réglage d'une position de gauche par un montant fixe est plus déroutant que de se contenter d'appliquer une largeur différente.
Votre demande également un liquide de largeur et d'une marge fixe, dans l'ensemble, ce n'est plus un design fluide... votre 30px aura la même apparence dans une petite ou une grande résolution.. mais votre largeurs va changer, soit de fixer la largeur en pixels ou de définir la marge en pourcentage (Peut-être essayer d'utiliser max-width pour certains navigateurs trop pour les grandes résolutions). Les navigateurs les plus récents également régler un pixel de mise en page lors de l'augmentation de la texte/taille de zoom, les navigateurs plus anciens nécessitent l'utilisation de EMs pour la taille du texte les modifications.
exemple avec les pourcentages et les padding:
OriginalL'auteur Pricey