Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Web » HTML / XML » encore css lol

Amwus
ProgBoarder
Citer - Posté le 16/06/2005 à 16:42
Me revoila avec mes problèmes lol ! Bon voila première chose, j'aimerais stocker tous mes css dans un fichier externe. Cela est il possible ? Je veux dire un fichier qui contienne les css pour les liens, les tables etc... Si oui comment dois je m'y prendre ?

Autre problème, j'aimerais faire en sorte que les cases d'un tableau se surlignent lorsqu'on passe dessus.
Dans ma table je fais donc :

<STYLE> TD:hover {background: color} </STYLE>

Mais le prob c que la, tous les TD de la page web il les surligne ! Moi j'aimerais qu'il surligne uniquement ceux de ce tableau précis. Comment dois je m'y prendre ?

Merci d'avance (clein d'oeil) !
"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore
Vikrech
Visiteur
RemonterCiter - Posté le 16/06/2005 à 21:07
Bon j'ai pas tout compris mais on va répondre.

2 possibilités qui correspondent aux 2 trucs différents que j'ai compris :
Pour importer un fichier css depuis un autre fichier css ou alors depuis ta page web (en utilisant la balise <style>) utilise
@import "ton_url";
Si tu veux regrouper tous tes fichiers css en 1 seul et que tu veux en appeller un en particulier depuis une page web, tu peux passer par un simple script php et mettre dans ta page web <link rel="stylesheet" type="text/css" href="style.php?num_style=15" title="Titre css />

Pour ton script php tu sais ce que tu as à faire (clein d'oeil) Et pense bien à rajouter ton entête Mime text/css qui est par défaut text/html sinon les navigateurs ne comprendrons pas (du moins c'est le cas des Mozilla et Co) ce que contient ton fichier.
la commande header("Content-type: text/css"); devrait résoudre ton problème.

Pour ensuite ton problème de TD la solution bête et méchante c'est de créer une classe pour tes TDs
ce qui fera
<table>
<caption>..</caption>
<thead>....</thead>
<tbody>
<tr>
<td class="taclass"></td>
<td class="taclass"></td>
</tr>
</tbody>
<tfoot><tr>...</tr></tfoot>
</table>
Avec td.taclass:hover {background: color} pour ton style css
En mettant class="taclass" pour chacun de tes tds du tableau. C'est franchement lassant et chiant. Une solution c'est de faire comme ceci : (plus élégant selon moi)

<table class="taclass" ou alors id="tonid">
<thead>.....</thead>
<tbody>
<tr>
<td>truc</td><td>muche</td>
</tr>
</tbody>
....
</table>

Et pour le css
table.taclass td {
background: color;
}

ou alors table#tonid td {
....
}

Et voilà c'est magnifique tous les td descendants de table.taclass se verront attribuer la propriété background !
Amwus
ProgBoarder
RemonterCiter - Posté le 16/06/2005 à 21:36
heuuuu j'ai pas compris lol.
En fait la classe doit etre créée ou ? ds le fichier css ? Et c koi thead et ebody etc ? Ca veux dire que pour afficher ma table je dois utiliser ces fonctions la ?
a la place d'un bete <table> je fais ton code ?
"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore
Vikrech
Visiteur
RemonterCiter - Posté le 17/06/2005 à 18:52
caption, tbody, tfoot c'est pour définir respectivement un titre, une entête, un pied pour ton tableau. C'est juste pour que ça soit plus sémantique (tout le monde à ce mot à la bouche en ce moment j'en profite (clein d'oeil))

Pour ce qui est des classes.. c'est pas facile à expliquer..
Prenons un cas précis :

<address>L'adresse email du webmaster est <a href="mailto:bidonmail@bidondom.ext" title="adresse mail" class="taclasse">bidonmail@bidondom.ext</a> pour le contacter</address>

Imagine que tu veuilles mettre ton lien d'adresse mail en rouge. Bien entendu si tu utilises a { color: #ff0000; } pour ton css tous tes liens seront mis en rouge. Toi tu veux simplement mettre quelques liens en rouge. Tu vas créer pour cela une classe qui va s'appliquer uniquement aux balises HTML où l'attribut class="taclasse".
Ce qui donne pour ton css
a.taclasse {
color: #ff0000;
}

si tu veux que ta classe s'applique à d'autres élements que les liens tu peux mettre
.taclasse {
color: #ff0000;
}

Enfin, pour expliquer ma 2eme solution de mon message précédent, en imaginant que tu veuilles mettre en forme toute ta partie <address>, tu peux mettre le css suivant et le code html suivant

<address class="addr_web">L'adresse email du webmaster est <a href="mailto:bidonmail@bidondom.ext" title="adresse mail">bidonmail@bidondom.ext</a> pour le contacter</address>

et avoir le css suivant par exemple

address.addr_web {
color: #FF0000;
}

address.addr_web a {
color: inherit;
text-decoration: overline underline;
}

address.addr_web a:hover {
font-weight: bold;
text-decoration: none;
color: #00ff00;
}


Vous noterez que c'est pas la plus belle mise en forme possible mais au moins les résultats sont bien visibles. Pour la petite explication, mettre le code css suivant
balise1 balise2 { ... } te permet de séléctionner toutes les balises balise2 descendant de balise1.
Et comme je vois que tu es débutant, je te conseillerai de lire la documentation officiel sur le très, magnifique et ô combien renommé site du W3C ( http://w3.org ) à la rubrique CSS. C'est en anglais mais comme on dit de nos jours, l'anglais c'est plus une langue étrangère..

En espérant que ça t'aide à comprendre mon précédent message. Alalala il faut fournir le mode d'emploi de l'aide. C'est un comble tout de même (clein d'oeil)

Amwus
ProgBoarder
RemonterCiter - Posté le 17/06/2005 à 22:00
Merci pour toutes ces indications !
Pour mon probleme de surlignage, c'est résolu ! J'ai assigné a ma table le paramètre class="menu" et pour les css j'ai fais :

table.menu td:hover {background=color;} et là ca marche très bien !
Mais par contre qd j'essaie de tout mettre ds un ficier css externe et que j'essaie de le prendre ca ne marche pas ! C'est bizarre. Ds le fichier, je dois mettre la meme chose que ce que je mettais ds mes pages web ?

Pour le reste, je pense que c une question d'hbitude pr piger mais au moins, j'ai les bases des bases lol ! Merci bcp !


"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore
Vikrech
Visiteur
RemonterCiter - Posté le 18/06/2005 à 10:03
Alors pour ton fichier css c'est exactement la même chose que tu mets dans ta page web sauf que...... tu enlèves les balises <style>..</style>

Et donc ton <link rel="stylesheet" type="text/css" href="chemin/style.css" title="Mon Csss" /> tu le mets entre les balises <head> et </head> voilà..
Amwus
ProgBoarder
RemonterCiter - Posté le 18/06/2005 à 14:49
ha oki ! Le problème devait venir de la ! J'essaierai ca tantot ! merci !
"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,092 s - Crédits - Stats
1 connecté