28172 sujets

CSS et mise en forme, CSS3

Bonjour et merci à celui qui portera un intérêt à mon post.

Voila je tente de faire un design web que j'ai moi même crée. J'ai crée un menu avec un effet réalisé grâce à la technique des sprites/css.

En dessous du menu j'ai placé une image arrondi qui va servir aux contenus. Je l'ai intégré grâce à CSS, ce que j'aimerai savoir c'est si la manière à laquelle j'ai intégré ce bout d'image pour donner un effet arrondi à mon contenu est bien fait, ou alors il y a plus simple ?

Merci.

Voici le code html + css dans une même page. En pièce jointe je mets les fichier crées.


<body>
<div id="conteneur">
<div id="entete">
</div><!-- entete -->
<div id="menu">
<ul>
<li><a href="" class="btn1"><span></span></a></li>
<li><a href="" class="btn2"><span></span></a></li>
<li><a href="" class="btn3"><span></span></a></li>
<li><a href="" class="btn4"><span></span></a></li>
</ul>
</div><!-- Menu -->
<div id="contenu">
fgdfgdfgfdgfgfdgd
</div><!-- Contenu -->
</div><!-- Conteneur -->
</body>



body{
	background-image: url(bgbg.png);
}
#conteneur{
	width: 550px;
	margin: 0 auto;

}
#entete{
	background-image: url(entete.png);
	background-repeat: no-repeat;
	height: 37px;
	margin: 20px 0 40px 0;
}
#menu{
	overflow:hidden;
}
#menu ul{
	margin: 0;
	padding: 0;
}
#menu ul li{
	list-style: none;
	float: left;
	margin: 0 10px 0 0;
}
#menu ul li a{
	text-decoration: none;	
	height: 42px;
	width: 127px;
	color: #FFFFFF;
	font-family: ar berkley;
	line-height: 36px;
	font-size: 24px;
	text-align: center;
	display: block;
}
#menu ul li a.btn1{
	background-image: url(btn1sprite.png);
}
#menu ul li a.btn2{
	background-image: url(btn2sprite.png);
}
#menu ul li a.btn3{
	background-image: url(btn3sprite.png);
}
#menu ul li a.btn4{
	background-image: url(btn4sprite.png);
}
#menu ul li a:hover{
	background-position: bottom;
}
#contenu{
	background-color: #FFFFFF;
	position: relative;
	bottom: 6px;
	right: 5px;
	border-radius: 10px;
	padding: 0 10px;
}

upload/45022-btn1sprite.png upload/45022-bg.png upload/45022-bgbg.png upload/45022-btn4sprite.png upload/45022-btn3sprite.png upload/45022-entete.png upload/45022-btn2sprite.png
Modifié par mln95400 (24 Jun 2012 - 18:31)
Bonjour,

Il y a un problème de conception à la base. Un lien de menu ça ressemble à ça:
<a href="/">Accueil</a>

ou, si on veut utiliser une image, à ceci:
<a href="/"><img src="..." alt="Accueil"></a>

Les autres techniques qu'on trouve présentées sur le web ici ou là, notamment l'utilisation d'images de fond en CSS, posent des problèmes d'accessibilité insolubles et sont donc à déconseiller.

Pour info, l'effet que tu cherches à obtenir pour tes liens de menu peut être réalisé en CSS avec @font-face (pour peu que tu aies le droit de distribuer cette fonte), text-shadow et border-radius.

À défaut, tu peux effectivement utiliser une image, mais dans ce cas le changement d'image au survol ne sera pas à faire en CSS (avec des images de fond) mais en JavaScript (avec un changement de l'attribut src, et éventuellement un préchargement des images au préalable).
Merci de vos réponses, j'en suis pas encore à ce niveau. Une question lorsque vous parlez d'accessibilité, cela veut dire que mon site ne sera pas accessible sur tous les explorateurs internet ?

Concernant les images de fond en css, si j'ai bien compris je ne dois utiliser aucune image de fond pour construire un site web. Mais dans le cas où on fait son design web sur photoshop on va obligatoirement devoir utiliser css pour les images en fond non ?

Merci de vos réponses encore une fois.
Modérateur
Bonjour,

tu confonds accessibilité et compatibilité.

compatibilité: fonctionne pour de multiples devices / navigateurs
accessibilité: Le site est accessible pour des handicapés ou les seniors.

Parfois certains points peuvent se recouper. Le problème des images est aussi lié à des problèmes techniques (images non disponibles) et de référencement.

Pour les images en <img> C'est pour les images porteuse de contenu (liens, logo, schémas, etc.). Les images de décoration sont très bien dans leur css (dégradés de fond, petits nuages en arrière-plan, puce de liste, etc.)

Pour aller plus loin:
http://www.pompage.net/traduction/Bien-utiliser-le-texte-alternatif#images_decoratives
mln95400 a écrit :
Concernant les images de fond en css, si j'ai bien compris je ne dois utiliser aucune image de fond pour construire un site web.

Non, tu peux utiliser des images de fond en CSS, c'est fait pour ça.

Mais un bouton n'est pas une image de fond. Autrement dit, ce n'est pas une décoration ou une mise en forme (CSS), mais un contenu (HTML). L'information textuelle pour ton bouton doit donc être dans le code HTML, que ce soit sous la forme d'un texte ou de l'attribut alt d'une image.
Modifié par fvsch (25 Jun 2012 - 19:19)
Merci fvsch, tu as l'air calé, je t'avoue que je suis pas étudiant en design web, css, html mais je m'y intéresse depuis maintenant 4 mois. Et grâce au site Alsa création je progresse. De plus t'es commentaires sont très utiles. Merci.
Petite précision :
kustolovic a écrit :
accessibilité: Le site est accessible pour des handicapés ou les seniors.
L'accessibilité, c'est pour tout le monde... Nous sommes tous des "handicapés" en puissance !
Tout est relatif, pour nous le handicapé c'est l'autre, mais peut être que pour lui c'est nous. En tous cas ce qui est certain c'est qu'il existe des "handicapé" plus doué que moi, que nous.
Une petite question : est-il judicieux d'utiliser position:relative afin qu'un bloc principal morde un peu sur un menu horizontal.

Et le overflow sur la div menu est-il bien utiliser.

Merci.
mln95400 a écrit :
Une petite question : est-il judicieux d'utiliser position:relative afin qu'un bloc principal morde un peu sur un menu horizontal.

Dans l'absolu ça peut l'être, oui.

mln95400 a écrit :
Et le overflow sur la div menu est-il bien utiliser.

J'imagine qu'il est destiné à empêcher le dépassement des LI flottants? Dans ce cas oui, c'est une utilisation correcte.