IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

emuler css colspan et rowspan


Sujet :

Contribuez

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut emuler css colspan et rowspan
    colspan et rowspan n'existent pas en css...
    Voici un petit script pour y remédier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
     
    <script type='text/javascript'>
    function init(){
    	tabtds=document.getElementsByTagName('td')
    	var i=-1;
    	while(tabtds[++i]){
    		spanrule=/((row)|(col))span(\d+)/.exec(tabtds[i].className)
    		if (spanrule){
    		     switch(spanrule[1]){
    		      	case ("row"): 	tabtds[i].rowSpan=spanrule[4];
    	   			  				  	break;
    	   	  		case ("col"): 	tabtds[i].colSpan=spanrule[4];
         		}
     
    	 	}
    	 }
    }
    </script>
    </head>
    <body onload="init()">
    <table border="1" width="100%">
      <tr>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="colspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="rowspan2">&nbsp;</td>
        <td  class="colspan2">&nbsp;</td>
      </tr>
      <tr>
        <td  class="colspan2">&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
      <tr>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
        <td >&nbsp;</td>
      </tr>
    </table>
     
    </body>
     
    </html>
    ça permet juste de tout gérer pas le class plutot que d'avoir un attribut séparé ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pas mal j'aime bien le principe clair net et précis ^^
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    ce qui me gène dans ce code c'est que tu es obligé de détourné la fonction première de l'attribut class

    Le code fonctionne si plusieurs styles sont appliqués sur la balise ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td class="style_quelconque rowspan2 style_ligne">&nbsp;</td>

    Sinon on ne peut pas créer ses attributs ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td monAttribut="rowspan2">&nbsp;</td>

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Le code fonctionne si plusieurs styles sont appliqués sur la balise ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td class="style_quelconque rowspan2 style_ligne">&nbsp;</td>

    Sinon on ne peut pas créer ses attributs ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td monAttribut="rowspan2">&nbsp;</td>
    Normalement oui, la regexp vérifie uniquement que le nom de classe contient colspan ou rowspan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spanrule=/((row)|(col))span(\d+)/.exec(tabtds[i].className)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Détourner l'attribut class est un des principes de base de jquery... personne ne s'en plaint...

    Oui ce code focntionne si le class compore plusieurs rules.
    La regExp detecte si l'attribut class comporte rowpsanx ou colspanx je pourrais paufiner pour ne pas matche un eventuel monrowspanx ...

    Pour ce qui est de rajouter des attributs persos, oui on peu, mais on sort du w3c valide.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Détourner l'attribut class est un des principes de base de jquery... personne ne s'en plaint...
    +1 Spaffy, notons aussi que l'apparition récente de la méthode getElementsByClassName pour les principaux navigateurs tendrait à montrer que l'on s'éloigne un peu d'une vision purement CSS de l'attibut class
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Encore une idée super géniale signée SPaceFrog !

    Non, je n'ai pas fait un plug-in !

    Mais bien entendu j'ai « jquerisé ». Avec une petite amélioration, voir les commentaires.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /*
     * Cette adaptation permet de définir un rowspan et
     * un colspan en même temps.
     */
    $("td").each(function(i, item){
    	var str = item.className;
    	var rowrule = /(rowspan)(\d+)/.exec(str);
    	var colrule = /(colspan)(\d+)/.exec(str);
     
    	if (rowrule != null){
    		item.rowSpan = rowrule[2];
    	}
     
    	if (colrule != null){
    		item.colSpan = colrule[2];
    	}
    });
    [EDIT 2010-05-24 07:38]

    Impossible de résister plus longtemps, je commence la rédaction du plug-in spacefrogRule !

    [EDIT 2010-05-24 10:05]

    C'est ici : http://danielhagnoul.developpez.com/...cefrogRule.php

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. GridView avec colspan et rowspan
    Par le_misterioso dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/10/2011, 09h33
  2. [phpToPDF] Fin de balises, colspan et Rowspan
    Par ju0123456789 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 09/02/2010, 15h05
  3. FlexTable probleme de colspan ou rowspan
    Par Space23 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 25/02/2009, 09h41
  4. Colspan et RowSpan
    Par Diablo_22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/11/2008, 09h45
  5. [CSS] Colspan ?
    Par Mister Nono dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/12/2005, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo