Validation CSS

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ton tableau semble en effet ici pour le mise en forme, ce qui n'est pas le rôle des tables... les documents pointés par Monique devraient te permettre de t'en passer définitivement :wink:
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Ben je vois pas trop cmt faire pour avoir ce que je veux sans tableau...

Exemple : http://rocknation.free.fr/adolina/disco/farrago.php
(C'est une ancienne version, je n'est pas encore mis en ligne les changements que j'ai effectué sur le CSS)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Les tableaux sont prévus à la base pour présenter des séries de données tabulaires. Ils ont été détournés à des fins de mise en page lorsque les border=0 et companie sont arrivés, mais ce n'est pas une raison de continuer à les utiliser.
La mise en page, c'est la feuille de style qui le fait. Théoriquement (en tous cas dans les variantes strictes des doctypes html 4 et xhtml 1.0), il n'est pas sensé y avoir de balises de mise en forme dans le code de la page.$

Pourquoi ne pas utiliser les tableaux ? Parce que c'est lourd, compliqué et que ça rend les pages inaccessibles.

Avec le CSS2 tu peux faire des mises en formes non seulement bien plus précises qu'avec les tableaux, mais aussi beaucoup plus accessibles.
Regarde par exemple http://alsacreations.com/articles/ il y a des modèles de mise en page, mais tu peux aussi créer toi-même ton propre modèle original.
La lecture de ces articles devrait se suffire à elle-même, si tu as d'autres questions n'hésite pas à les poser on est là pour ça :wink:
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Chui entrain d'essayé, c'est compliqué pour qqn qui utilise les tableaux depuis tjrs :?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

C'est sûr ! :? Ce n'est malheureusement jamais facile de changer ses habitudes, mais c'est comme ça.
Mais ça en vaut la peine. Ton code source sera plus clair, ce sera plus facile de le mettre à jour... je dois te dire que j'apprécie tous les jours de ne plus avoir à me soucier de la mise en page :D

Je ne sais pas trop où tu te situe, mais je te conseille la lecture de l'article Les feuilles de style. Si ça te parait trivial tant mieux :D , les liens en bas de page sont très utile aussi :wink: (et un peu plus avancés)
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Je fais un test pour voir cmt faire pour faire égal ac ce que j'avais fait ac des tableaux. Mais les minutes passe à la deuxième ligne.

Ce que je veux faire

Le CSS

La page de test
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Déjà pour nommer tes classes, utilise quelque chose de plus sémantique que gauche et droite (je pinaille mais c'est déjà de la mise en forme :lol: ).
Trouve des noms du genre .image, .playlist, .sortie, .producteur ou .minutes. Sinon le jour où tu voudra mettre tes minutes à gauche ce sera fichu :wink:

Ensuite je pense (mais je peux me tromper :wink: ) que tu aurais meilleur temps d'utiliser les float:left et float:right. Attention aussi à position: fixed; qui va rester fixé lorsque la page défile.
Attention aussi au doctype qui peut faire basculer le navigateur dans le mode quirk ou standard, ce qui provoque forcément des problèmes.

Tu peux essayer avec quelque chose du genre :
CSS:

Code : Tout sélectionner

#playlist {
	background-color:#9999CC;
}

#image {
	background-color: red;
	float:left;
	width:20%;
}

#minutes {
	background-color: yellow;
	float:right;
	width:10%;
	height:5em;
}

#centre2 {
	background-color:green;
}

#producteur {
	background-color: pink;
	float:left;
	width:20%;
}
HTML

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<link rel="stylesheet" type="text/css" href="test.css" />
<title>ROCKNATION</title>
</head>

<body>
	<div id="image">
	IMAGE
	</div>

	<div id="minutes">
	MINUTES
	</div>

	<div id="playlist">
	playlist (centre)
	</div>

	<div id="producteur">
	producteur
	</div>

	<div id="sortie">
	sortie
	</div>
</body>
</html>
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Wé je sais pour les noms c'été pour le test. J'ai modifié un peu ton code, tout marche, le seul problème c'est que border-spacing marche pu. Alalalala que c'est dur de faire du bon code :roll: :lol: Enfin j'aurais appris bcp de chose sur le CSS :D

Est ce que le border-spacing marche pas ac les div? Il y a un équivalent ou je vais devoir mettre des marges un peu partout?

Le nouveau CSS :

Code : Tout sélectionner

#playlist {
   border: 1px solid #000000;
}

#image {
   border: 1px solid #000000;
   float:left;
   width:200px;
}

#minutes {
   border: 1px solid #000000;
   float:right;
	width:60px;
}

#producteur {
   border: 1px solid #000000;
   float:left;
   width:200px;
}

#sortie {
	border: 1px solid #000000;
	margin-right:60px;
}

div {
	padding: 3px 3px 3px 3px;
	border-spacing: 3px 3px;
}
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Oui, ça n'a aucun sens en dehors des tableaux :?
Tu peux mettre des margin en effet, par exemple 1px pour chaque bloc :wink:
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Ca avançe :D
Window XP / Mozilla 1.7.1 en-US
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Me revoilà :? ,
J'ai plus où ce que je voulais au départ, il ne me manque juste qu'un petit truc. Est ce que qqn c'est comment fait t'on pour que les div, qui sont sur la mème ligne, est la mème hauteur?

Ma page :
:arrow: http://rocknation.free.fr/testdiv.php

Le CSS :
:arrow: http://rocknation.free.fr/test.css
Window XP / Mozilla 1.7.1 en-US
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je pense qu'il faut les inclure dans un autre div et lui dire d'ocuper 100% de la place. Et rien indiquer pour le div conteneur.

Ainsi le plus grand des div vas etirais le div conteneur. Et le second div vas lui aucuper tout la place...
Inscrit sur la liste des abonner absent...
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

Si j'ai bien compris, je met ma première ligne de div ds un autre div tout simple (conteneur par exemple). Pis je remet le div conteneur ds un autre div (petitpapanoel par exemple) ac comme propriété height: 100%.

C'est ça ou j'ai rien pigé?
Window XP / Mozilla 1.7.1 en-US
pingu
Salamandre
Messages : 30
Inscription : 13 juil. 2004, 01:01

Message par pingu »

J'ai rien pigé, ça marche pas, j'ai essayé autre chose.

Mettre les div de image, playliste et minutes dans un div, puis mettre le height de image a 100% > marche pas

Mettre les div de image, playliste et minutes dans un div, puis mettre le height de image a 400px (par exemple) > marche pas, le div image dépasse, je croyais qu'il aller rester a la meme hauteur que les autres mais non :cry:
Window XP / Mozilla 1.7.1 en-US
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités