CSS: largeur variable et blockquote

CSS: largeur variable et blockquote - HTML/CSS - Programmation

Marsh Posté le 30-06-2005 à 11:36:58    

Bonjour à tous,
 
J'utilise une page à largeur variable. Pour simplifier, on peut dire qu'il y a un menu à gauche, et un contenu à la droite du menu.
 
Pas de soucis, sauf si je rajoute un blockquote. Là, selon la taille de ce dernier, le positionement de mon bloc de guauche se fait soit à gauche du menu, soit en bas.
 
Voici le code simplifié de la page:
 
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.   <head>
  4.     <title>Titre de ma page</title>
  5.     <link rel="stylesheet" href="classic.css" />
  6.   </head>
  7.   <body>
  8.     <div id="page">
  9.      
  10.       <ul id="menu">
  11.         <li><a href="index.html" title="Index du site">Accueil</a></li>
  12.         <li><a href="members.html" title="Liste et pr&eacute;sentation des membres">Membres</a></li>
  13.         <li><a href="galleries.html" title="Galleries de photos par th&egrave;me">Galleries</a></li>
  14.         <li><a hreF="links.html" title="Liens divers">Liens</a></li>
  15.         <li><a href="about.html" title="Informations sur le site">A Propos</a></li>
  16.       </ul>
  17.       <div id="content">
  18.         <h2>Titre h2</h2>
  19.         <blockquote title="Une citation">
  20.           Texte de la citation: c'est de sa longueur que d&eacute;pend l'affichage de la page. Donc, je repete cette phrase. Texte de la citation: c'est de sa longueur que d&eacute;pend l'affichage de la page. Donc, je repete cette phrase. Texte de la citation: c'est de sa longueur que d&eacute;pend l'affichage de la page. Donc, je repete cette phrase. Texte de la citation: c'est de sa longueur que d&eacute;pend l'affichage de la page. Donc, je repete cette phrase.
  21.         </blockquote>
  22.         <p id="author">
  23.           <cite>Anonyme</cite>
  24.         </p>
  25.         <h3>Titre en h3</h3>
  26.         <p>BlaBla</p>
  27.       </div>
  28.      
  29.     </div>
  30.   </body>
  31. </html>


 
Et pour la CSS:
 

Code :
  1. body {
  2. margin: 0;
  3. padding: 0;
  4. background: #666666;
  5. font: 1.2em 0.9em/1em verdana;
  6. color: #B1B1B1;
  7. text-align: center;
  8. }
  9. /*Balise englobant tout le body*/
  10. #page {
  11. width: 70%;
  12. margin: 0 auto;
  13. padding: 0;
  14. background: #858585;
  15. border: 3px solid #FFFFFF;
  16. }
  17. #menu {
  18. margin: 20px 0 0;
  19. padding: 0 0 20px 0;
  20. float: left;
  21. width: 150px;
  22. text-align: center;
  23. background: #858585;
  24. border-right: 3px solid #414141;
  25. }
  26. #content {
  27. float: left;
  28. margin: 0;
  29. padding: 20px;
  30. background: #FFFFFF;
  31. text-align: left;
  32. }
  33. #content p {
  34. text-indent: 1em;
  35. padding-left: 1em;
  36. text-align: justify;
  37. background: #EEDDAA;
  38. }
  39. #content blockquote {
  40. margin: 0;
  41. padding: 0;
  42. font-style: italic;
  43. background: #4499FF;
  44. }
  45. #content #author {
  46. text-align: right;
  47. background: #EEAA55;
  48. }
  49. #content cite {
  50. text-align: right;
  51. font-style: normal;
  52. background: #7711AA;
  53. }
  54. #content h2 {
  55. font-size: 1.5em;
  56. color: #FF6600;
  57. padding-left: 0.5em;
  58. border-left: 1px solid #FF6600;
  59. border-bottom: 1px solid #FF6600;
  60. background: #22AAFF;
  61. }
  62. #content h3 {
  63. font-size: 1.2em;
  64. color: #FF6600;
  65. margin-left: 1em;
  66. padding-left: 1.5em;
  67. padding-top: 0.2em;
  68. background: url(big.jpg) no-repeat;
  69. border-bottom: 1px solid #FF6600;
  70. }


 
Merci d'avance.

Reply

Marsh Posté le 30-06-2005 à 11:36:58   

Reply

Marsh Posté le 30-06-2005 à 15:29:33    

Personne?
 
Problème insoluble ou question bête qui n'a aucun sens?
 
Je peux apporter des précisions, il suffit de demander ;) !

Reply

Marsh Posté le 30-06-2005 à 15:34:59    

c'est pas déprécié blockquote ?

Reply

Marsh Posté le 30-06-2005 à 15:44:44    

Biiiin, j'ai vérifié ici:
 
http://giminik.developpez.com/xhtml/blockquote.html
 
Ca a pas l'air...

Reply

Marsh Posté le 30-06-2005 à 15:46:54    

okii

Reply

Marsh Posté le 30-06-2005 à 15:52:00    

gatsusat a écrit :

c'est pas déprécié blockquote ?


Heuu non, c'est le seul moyen de faire des quotes en blocs [:petrus75]
 
avec <q> en quotes inlines et <cite> en citations


Message édité par masklinn le 30-06-2005 à 15:52:16

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 30-06-2005 à 15:59:07    

Au fait, entre temps, j'ai rajouté un <p> dans le blockquote, w3c n'en voulait pas sinon, ce qui donne:
 

Code :
  1. <blockquote>
  2. <p>
  3. Ici ma citation.
  4. </p>
  5. </blockquote>


 
 :bounce:


Message édité par LeRiton le 30-06-2005 à 16:17:33
Reply

Marsh Posté le 30-06-2005 à 16:23:53    

Autre question (qui n'exclue pas l'autre ;) ) qui ne me bloque pas, mais que j'aimerais comprendre. Sur le même code, dans le #content
 
 

Code :
  1. <p id=author>
  2. <cite>Nom de l'auteur</cite>
  3. </p>


 
avec le CSS
 

Code :
  1. #content #author {
  2. text-align: right;
  3. /*si je specifie l'alignement ici, ca passe*/
  4. }
  5. #content cite {
  6. text-align: right;
  7. /* si je le met ici, ca ne marche pas */
  8. }


 
En gros, je pensais que text-align fonctionnai également sur les éléments en ligne, ca n'a pas l'air d'être le cas ici.
 
Quelqu'un pour m'éclairer?
 
Bien sûr, mon premier soucis est plus que jamais d'actualité  :bounce:

Reply

Marsh Posté le 30-06-2005 à 16:27:29    

Pour qu'un élément puisse avoir son text aligné par exemple à droite, il faut que sa largeur soit plus grande que le texte. Or, un élément inline aura toujours pour largeur la largeur du texte dedans. Donc impossible d'aligner à droite, vu qu'il n'y a pas d'espace. Solution : un ch'ti display: block;, ou alors mettre le text-align dans le p

Reply

Marsh Posté le 30-06-2005 à 16:40:43    

OK, c'est très clair, merci!
 
J'abuse, mais toujours pas d'idée pour mon premier problème?
 
En modifiant la largeur du blockquote, on attenue (retarde) l'effet jusqu'a un certain rétrécissement de la page, mais je trouve pas ca très propre:
 

Code :
  1. #content blockquote {
  2. ...
  3. width: 95%;
  4. }

Reply

Marsh Posté le 30-06-2005 à 16:40:43   

Reply

Marsh Posté le 30-06-2005 à 16:41:20    

Il n'y a pas grand chose à faire, à part mettre des pourcentages pour tout le monde

Reply

Marsh Posté le 30-06-2005 à 16:44:31    

Pourtant, <blockquote> est dans mon <div id="content">, donc il ne devrait pas dépasser de sa largeur (non?).
 
Pour preuve, tous les <p> du #content ne posent aucun problème, alors que je ne leur spécifie aucune largeur.

Reply

Marsh Posté le 30-06-2005 à 16:48:02    

Ca dépend, il faut que ton #content a une width lui aussi, sinon le blockquote se dimensionnera par rapport au premier ancêtre dimensionné trouvé dans la hiérarchie

Reply

Marsh Posté le 30-06-2005 à 16:52:58    

/me un poil largué... :sweat:  
 
Pourquoi ce n'est pas le cas avec le <p> alors?
 
Ils ont le même premier ancetre si je ne m'abuse?

Reply

Marsh Posté le 30-06-2005 à 16:53:53    

Comme dit, s'ils ont un width définit dans le CSS

Reply

Marsh Posté le 30-06-2005 à 16:55:27    

Non, dans mon code, ils n'ont pas de width défini.
 
J'ai raté le coche?

Reply

Marsh Posté le 30-06-2005 à 16:56:01    

Voilà, donc si aucun n'a de width, vraiment personne, le pourcentage se fera par rapport à la taille de la fenêtre

Reply

Marsh Posté le 30-06-2005 à 18:14:30    

Ca d'accord, je reprend juste parceque je crois qu'il y a confusion.
 
Comme dans mon code, j'ai une div #page qui englobe tout le code, et qui est la seule à avoir un width spécifié (ici 70%). Dans cette div, j'ai mon menu #menu et le contenu de la page #content.
 
#menu est en width 150px float: left. Dans mon content, si je retire le blockquote, je n'ai que des <p> (toujours pas d'autre  width). L'affichage se fait correctement à droite du menu. Si avant le <p>, je met le blockquote (toujours pas de width), là, l'affichage est plus aléatoire, selon la taille que prend ma fenetre, le blockquote (et par conséquent tout le #content) peut s'afficher en dessous du menu.
 
Voila ce que je ne comprend pas, car dans les 2 cas, je ne spécifie pas de width pour les éléments de #content, pas plus que pour le #content lui-même.
 
En esperant avoir été clair.

Reply

Marsh Posté le 01-07-2005 à 09:39:53    

Donc le blockquote se fera par rapport à #content. Donc imagine que les 70% de ton #content font 1000 pixels. Alors tes 95% du blockquotes feront 950 pixels, ce qui ne laissera que 50 pixels pour ton #menu, ce qui est forcément pas top...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed