5568 sujets

Sémantique web et HTML

Bonjour,

Voila-t-y pas que les validateurs me sortent une erreur (la seule) "d'élément interdit dans ..bla bla."

Il s'agit d'un tableau simple saisi avec un RTE dans le cms (ModX/tinyMCE)
dans un contenu.

Donc ca génére le code <table>... dans un <p>, bien fermé après, ce qui, a priori, me parait tout ce qu'il y a de plus normal ..mais me j'ai peut-être tort Smiley confus

<p style="text-align: center">

 E609 This tag or content is not allowed here. One of the following was expected: <#pcdata> <a> <abbr>
          <acronym> <applet> <b> <basefont> <bdo> <big> <br> <button> <cite> <code> <del> <dfn> <em> <font> <i>
          <iframe> <img> <input> <ins> <kbd> <label> <map> <object> <q> <s> <samp> <script> <select> <small>
          <span> <strike> <strong> <sub> <sup> <textarea> <tt> <u> <var>
                       <table align="center" border="0" class="noborder">
                      <tbody>
                       <tr>
                          <td>............................
</tr>
                      </tbody>
                   </table>
                 </p>..........


je suis en doctype xhtml-transitionnal.

Merci
L'erreur est bonne. Il y a des éléments que tu ne peux pas mettre dans d'autres.

Si tu cherches un peu sur les éléments parents-enfants tu vas trouver des références.

Dans un <p> par exemple tu peux avoir uniquement des éléments qui par défaut sont inlines ( <a> <span> et autres ) ou du texte.
Administrateur
elz64 a écrit :

je suis en doctype xhtml-transitionnal.

Merci

Hello,

Les éléments <p> n'acceptent aucun descendant de type bloc (<table>) par exemple, dans aucun langage (ni HTML, ni XHTML, que ce soit en strict ou en transitionnel) à ma connaissance.
heu fichtre, crotte et saperlipopette!
table est block .. à force de ne jamais m'en servir.... on oublie.

Bon soit me revoilà donc à la recherche d'un moyen de donner à un rédacteur lambda la capacité de centrer un tableau de donnée au milieu de son contenu...

Je suis preneur de solutions sur tinymce (sachant que le tableau recoit déjà une classe par le meny style et qu'avec un rte on ne peut pas en définir plusieurs à ma connaissance.
Modérateur
Bonjour,

La seule idée qui me vient en tête pour le moment serait de définir une class qui englobe les styles des deux classes. Ça peut faire répétitif dans la feuille de style, mais ça fonctionnera sous TinyMCE. Sinon, tu peux peut-être poser la question sur leur forum, peut-être que quelqu'un a développé un plugin pour les classes multiples.
elz64 a écrit :
Bon soit me revoilà donc à la recherche d'un moyen de donner à un rédacteur lambda la capacité de centrer un tableau de donnée au milieu de son contenu...

Déjà si l'éditeur utilisé permet à l'utilisateur d'insérer un tableau dans un paragraphe (plutôt qu'à la suite du paragraphe), c'est un bug de l'éditeur. Vieille version de TinyMCE?

elz64 a écrit :
sachant que le tableau recoit déjà une classe par le meny style et qu'avec un rte on ne peut pas en définir plusieurs à ma connaissance

Aucune idée pour TinyMCE, mais CKEditor permet de définir l'alignement d'un tableau dans la pop-up des propriétés du tableau. Ça génère un attribut align ce qui n'est pas terrible mais c'est mieux que rien.
Modérateur
Le démo en ligne de TinyMCE permet de centrer le tableau avec les boutons d'alignement, et l'éditeur ajoute style="margin-left: auto; margin-right: auto;" au tableau. Aucun paragraphe n'est ajouté.

Par contre, comme Florent le précise, si tu le fait dans les propriétés du tableau, là c'est l'attribut align qui est utilisé.
Modifié par Tony Monast (17 Dec 2010 - 16:35)
Je pense qu'à un moment j'ai du balancé moi même le tableau ds le p (ca doit dater).

En refaisant une table vierge effectivement ce n'est pas ds un p.

Par contre pour le centrer dans son parent sans avoir associé aux tables un display:inline je n'obtiens pas de résultat.

La version du tiny est peut-être en cause et j'ai pu en activer une plus récente mais j'ai eu pas mal d'autres soucis avec la toute dernière.

Une approche qui marche finalement, mais pas top pour le client, c'est de faire un retour (génère un p)
sélectionner ce p (clic dessus dans la barre d'état du rte)
le changer en div (liste des styme html standards)
lui appliquer une classe ".centrage" (text-align:center; et margin 0 auto pour faire bonne) mesure dans la liste des style perso.


a écrit :
Le démo en ligne de TinyMCE permet de centrer le tableau avec les boutons d'alignemen

ben, je ne sais pas ce qu'est le bouton de centrage (justification centrée ?) si oui ca me centre tout le reste sauf le tableau.
Modifié par elz64 (17 Dec 2010 - 18:39)
Modérateur
elz64 a écrit :

ben, je ne sais pas ce qu'est le bouton de centrage (justification centrée ?) si oui ca me centre tout le reste sauf le tableau.


Oui, je parle bien du bouton de justification centré. Tu dois faire certain de sélectionner le contour du tableau.