Définir des dimensions en CSS sans utiliser width ni height

Dark Templar

Ex-vénérable sage
Club iGen
24 Avril 2002
16 898
1 044
Toujours là
www.pontida.fr
Bonjour,
Alors pour simplifier j'ai une page en XHTML 1.1 et j'utilise des feuilles de style externes pour la présentation. J'ai dans cette page une barre de navigation à droite qui fait 230 pixels (right: 0; witdh: 230px; ) et le reste doit être pris par le contenu.
Le problème c'est que je ne sais pas comment expliquer au navigateur que le contenu doit prendre toute la place restante.
Je me suis dit, je vais mettre :
left: 0;
right: 230px;
Là les navigateurs comprennent tous que le contenu prend toute la place jusqu'à 230 pixels de la droite sauf IE. :mouais:
Alors comment faire pour lui expliquer sachant que je ne peux pas utiliser l'attribut width puisque je ne connaît pas la largeur du contenu (elle varie en fonction de la taille de la fenêtre) et que je ne peux pas utiliser des pourcentages puisque la barre de droite n'a pas une largeur en pourcentage.

De la même manière, j'aimerais que la barre de droite fasse toute la hauteur sauf une partie en haut réservée au logo et une en bas réservée à d'autres infos. J'utilise donc le code suivant:
top: 98px;
bottom: 43px;
Et tous les navigateurs comprennent sauf IE (je ne peux pas là non plus utiliser des pourcentages).

Merci d'avance
 
Salut DT :)

Tu as pensé à essayer avec...

Bloc de code:
width: auto;

... ?
 
J'ai fait une petite page pour ton problème, et il me semble que je suis arrivé à faire ce que tu cherches.
Je n'utilise pas l'attribut right ou left. Une petite subtilité est qu'il faut d'abord déclarer la boite de droite avant celle du contenu dans le flux HTML.
 
J'ai trouvé une page qui fait ce que je voudrais faire.
Si lui il a réussi je devrais aussi mais j'ai du ma à déchiffrer sa feuille de style, il me faudrait un traducteur :mouais:
Alors si quelqu'un a une idée maintenant que j'ai un exemple concret... :p
 
Sinon, il y a plein d'exemples et d'explications sur le site Alsacréation pour ce que tu veux faire :)

Moi, en général, je mets le menu placé en absolute (à gauche par exemple). Et le texte, lui, reste dans l'enchainement normal (pas placé par un absolute ou autre) en placant une marge plus importante du coté du menu.

<div style="margin-left=250px">
Mon texte avec une marche à 250px sur la gauche
</div>

<div id="MonMenu">
qdqsdqsd
</div>

Sinon j'ai un exemple perso qui montre deux colonnes menu et un texte avec plusieurs feuilles de style possibles.
 
Perso, je trouve que l'utilisation de la position absolute est à proscrire à tout prix, sauf exception le nécessitant expressément.

Sinon DarkTemplar, j'essaierai de regarder un peu plus en détail dès que j'en aurai le temps et surtout le courage. Mais j'essaierai de ne pas t'oublier ;)
 
bon en fait je me suis planté comme une m...
IE comprend quelle taille doit faire mon calque #principal, et si j'intègre du texte dedans il se met au bon endroit, c'est déjà ça de gagné.
en fait le problème vient des calques à l'intérieur (qui contiennent eux-mêmes d'autres éléments de bloc), il faut que je fasse des tests et si vraiment je n'arrive à rien je trouverai un endroit pour mettre la page en ligne afin que vous m'aidiez. :)