Class et id définis dans une même balise ?

Résolu
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 9 oct. 2008 à 13:58
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 9 oct. 2008 à 21:40
Bonjour à tous.

J'aimerais savoir s'il existe un moyen de définir à la fois la class et l'id d'une div, du genre:

En effet, j'ai plusieurs div dans ma page qui possèdent toutes les même caractéristiques de style. Une même class est donc utile.
Cependant, ces div sont initialement cachées puis sont appelées et placés dynamiquement par javascript via leur id (document.getElementById('no2').style....)

Je ne me préoccupais pas de cette question jusqu'à ce que je cherche à fignoler mon code via une feuille de style, car je définissais le style des div directement dans la balise
=>
, il n'y avait donc aucun soucis.

Bref, j'ai essayé d'intégrer la définition des class et id en même temps sans succès...

Pensant que ce soucis a déjà été rencontré, j'aimerais savoir s'il existerait une 'astuce' paliant ce problème.

Dans le cas contraire, je continuerai à définir les style directement dans les balises.

Merci d'avance et à bientôt.

PS: Free m'a enfin renvoyé un modem !!!

Signé Sagat

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 oct. 2008 à 15:16
<!--table style="width:100%;">
<tr>
<td style=" border-width:2px;
border-style:solid;
border-color:#FF8000;
font-family:Courier New;
color:#400040;
font-size:12px;
background-color:#FFEFEF;">


</td>
</tr>
</tbody>
</table-->
<style>

.toto {     border:1px solid black;

            background-color:red;    }

#Yo1    {    color:yellow;    }

#Yo2    {    color:white;    }

#Yo3    {    color:black;    }

</style>

bla bla bla

bla bla bla

bla bla bla

<script>

    var d=document.getElementById("Yo1");

    d.style.position="absolute";

    d.style.top="150px";

    d.style.left="100px";

</script>




et comme je disais... tout cohabite

          Bul [mon Site] [M'écrire]         
3
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
9 oct. 2008 à 21:40
Ok, d'après ce que je comprends,
ta proposition adaptée à mon projet serait de définir dans la feuille de style certaines des propriétés (background,border,...),
puis d'en définir certaines autres dans l'appel de la fonction positionner().

L'idée est astucieuse, pas exactement ce que je pensais pouvoir faire mais c'est malin puisque le but premier est de simplifier le code en ne se répétant pas trop. Ce qui devient le cas ici.

Merci pour cette technique made in Système D, et très bien vue.

Signé Sagat
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 oct. 2008 à 14:42
bonjour,

à priori, aucun souci à ce niveau.
les 'n' possibilités d'agir sur le style cohabitent
si des éléments existent dans l'un et l'autre,
    l'un écrasera l'autre ( ou le contraire, sans
    être sûr de l'ordre dans lequel c'est pris, et
    si c'est le même pour tous les navigateurs ! )

un tout petit extrait/exemple de ce que tu fais ?  

Cordialement

          Bul  [mon Site] [M'écrire]         
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
9 oct. 2008 à 15:01
Aucun soucis pour l'exemple:

Voilà ce que je faisais (simplifié mais l'idée et là):

bla bla,
bla bla,
bla bla

bla bla bla

bla bla bla

bla bla bla

avec pour script:

var a;var b;


function positionner(val,menux){


 var c=val.offsetLeft;
 var d=val.offsetTop;
a=c;
 b=d+40; 
 menux.style.left=a;
 menux.style.top=b;
}

L'idée étant de positionner les div appelées à peu près sous les cellules du tableau  les appellant (Je sais qu'il y a d'autres façons d'obtenir cette effet).

Bref, je voulais simplifier le code en ayant:

bla bla

bla bla

bla bla

et définir ainsi dans ma feuille de style, et donc une seule fois:

.Mo{
position:absolute;
display:none;
border:1px solid black;
background-color:white;
}

Voilà, mon soucis n'est plus maintenant de trouver une autre façon d'obtenir l'effet souhaité, mais de pouvoir utiliser class et id en même temps.

J'espère que l'exemple t'aidera.
A bientôt.

Signé Sagat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 oct. 2008 à 15:25
bien sûr, à toi de "répartir"  les éleménts css comme tu l'entends,
moi ce n'est qu'un exemple....
          Bul [mon Site] [M'écrire]         
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 oct. 2008 à 16:26
et bien entendu toujours, on peut modifie=r, ajouter, détruire... :
     d.style.backgroundColor="blue";
     par exemple, ça baigne aussi
          Bul [mon Site] [M'écrire]         
0
Rejoignez-nous