28173 sujets

CSS et mise en forme, CSS3

salut, néohyte, je viens de terminer un site (en allemand) avec des css.
http://www.rechtsanwaltskanzlei-steineck.de

(en phase de test; donc incomplet,...)

L'affichage sur mon écran TFT 19" est impeccable mais sur un 17" CRT le texte sort de l'écran, ainsi que les scrollers droits, ce qui occasionne les effets visuels négatifs suivants:

- Il faut faire un scroll horizontal et vertical pour le reste de la page.

- Les menus sont trop bas et recouverts par la barrière du bas. Ce problème est en partie résolu

- le site recouvre tout l'écran alors que sur mon 19", il y a une marge blanche à droite comme je le souhaitais.


Faudrait-il pas mieux centrer le site entier et laisser deux petites marges á droite et à gauche.

mon css:


/* CSS Document */

.font {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
}

.gras {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font:
	font-weight: normal;
	font-style: normal;
	font-weight: bold;	
}

body {
	position: absolute;
	margin: 0em;
	margin-left: 0em;
	padding: 0em;
	width: 80%;
	height: 100%;
	
}

div#haut {
	margin-bottom:auto;
	margin-top:auto;
	width: auto;
	height: 0.50em;
	
	
}

div#conteneur {
	height: 100%;
	width: 100%;
	float:left;
	}
	  

#menu {
	position: absolute;
	width: 126px;
	height: 520px;
	margin: 0px;
	padding: opx;
	left: -15px;
	margin-top: 160px;
	top: 3px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #000066;
	background-color:#FFFFFF;
	
		}
				
a.lien {
	color: #000033;
	text-decoration: underline;
	
	}
a.lien:hover { color: #666666; background-color: #CCCC9A; }
	

#frame {
	position:relative;
	margin-top: 140px;
	margin-left: 120px; /* on place ce bloc à droite du bloc menu de 180px de large */
	margin-bottom: 0px;
	padding: 10px;
	padding-top: 5px;
	height: 70%;
	width: 902px;
	overflow: auto;  /*cette propriété va permettre le scroll de ce bloc */
	font-size: 11px;
	font-family: Arial, Helvetica, sans-serif;
	border-left:dotted thin;
	
	}

#bas {
	position:relative;
	margin:0px;
	margin-top: auto;
	width: 860px;
	height: 50px;
         top: 15px;
	
}

</style>


Mon css, je le sais, n'est pas des plus optimaux, je voudrais corriger certaines choses mais je crains de faire pire.Si quelqu'n peut me conseiller. A+
Modifié par midiweb (19 Feb 2007 - 15:02)
Bonjour,

Une piste: pourquoi y a-t-il ce scroll interne totalement ridicule dans mon 23'' ?

Une deuxième piste: commencer par faire "pouce" ( Smiley biggrin ), oublier résolutions d'écrans et pixels, et réfléchir en terme de zone d'affichage du navigateur.

Bref, refaire en enlevant les pixels (ce qui ne veut pas dire qu'il ne faut pas s'en servir. Mais qu'il faut savoir s'en servir, ce qui n'a rien d'évident au début).
Merci pour ta contribution. Que veux-tu dire par ridicule. Ce scroll est là pour une bonne raison, pour visualiser le reste du texte. je voudrais en fait que ce soit le scroll externe propre au browser mais j'ai pas trouver comment faire. Je comprends cependant ton grief.
Ma priorité, c'est de trouver le rapport "pouce-pixels" pour que l'affichage se fasse convenablement sur un petit écran. Pas encore trouver ce qu'il faut changer dans la css. Faudrait-il pas mieux des unités en %? À suivre
midiweb a écrit :
Ce scroll est là pour une bonne raison, pour visualiser le reste du texte. je voudrais en fait que ce soit le scroll externe propre au browser mais j'ai pas trouver comment faire.

Il suffit de ne rien faire (en particulier ne pas donner de hauteur à div#frame), et ça marchera comme ça.

Par contre, cela implique déjà d'avoir un code correct. Ici, c'est loin d'être le cas. On a, en plein milieu du body, un code de page HTML complète. Ouille. Je suppose que c'est dû à une incompréhension totale du rôle de la technique des include en PHP. Voir à ce sujet Le point sur la fonction PHP include.

midiweb a écrit :
Ma priorité, c'est de trouver le rapport "pouce-pixels" pour que l'affichage se fasse convenablement sur un petit écran.

Ce rapport n'existe pas, vu qu'il change d'une configuration à l'autre.

midiweb a écrit :
Faudrait-il pas mieux des unités en %?

C'est effectivement une solution.
Pas de % ici, surtout pas.

menu gauche dimensionné en pixel, zone de contenu en flux non dimensionnée, mais en overflox hidden pour former une colonne à côté du flottant.
Laurent Denis a écrit :
menu gauche dimensionné en pixel, zone de contenu en flux non dimensionnée, mais en overflow hidden pour former une colonne à côté du flottant.

Le coup du overflow posera problème à IE6 et inférieurs et nécessitera un correctif, par contre, non ?

Au fait, est-ce qu'il y a une contrindication particulière pour utiliser une marge à gauche à la place ?
salut ok donc restons-en aux pixels. C'est bien cela? j'ai enlevé "overflow:auto, en local chez moi pas sur le site, car dans le menu "kosten"(coûts), ma bannière du bas chavauche mon texte, et cela, seulement dans ce menu "kosten" pas dans les autres. Le reste, je dirais, est presque parfait, du moins c'est ce que je veux.
Par contre, sur un écran 17", le texte sort de l'écran à droite, sur quelques dizaines de pixels, et évidement l'ascenseur horizontal s'affiche automatiquement, ce que je voudrais éviter, mais j'ai pas trouver la parade css! Smiley smile
Tu peux stp. me donner plus d'infos sur:
zone de contenu en flux non dimensionnée

Comment se représente cela en css?

Au fait, est-ce qu'il y a une contrindication particulière pour utiliser une marge à gauche à la place ?

Non, je suis ouvert à toute proposition qui améliore ce site. je pense d'ailleurs que ce serait plus esthétique si le site était centré, avec une marge de chaque côté. À voir donc!
Modifié par midiweb (28 Feb 2007 - 12:21)
midiweb a écrit :
Tu peux stp. me donner plus d'infos sur:
zone de contenu en flux non dimensionnée

Comment se représente cela en css?

Pourquoi pas, mais ça n'a rien d'urgent, contrairement à ton problème d'include PHP très mal diggéré. À corriger en priorité, avant quoi que ce soit d'autre. Voir le lien que j'indiquais ci-dessus.

a écrit :

Au fait, est-ce qu'il y a une contrindication particulière pour utiliser une marge à gauche à la place ?

Non, je suis ouvert à toute proposition qui améliore ce site. je pense d'ailleurs que ce serait plus esthétique si le site était centré, avec une marge de chaque côté.
Non, je parlais d'une marge à gauche pour le bloc de texte principal, pour éviter que le contenu ne passe sous le flottant.

Sur le centrage horizontal d'un site, il y a un tutoriel sur cette question. On utilisera de préférence la technique des marges automatiques. Mais, avant tout, régler ce problème d'incompréhension de la technique des include en PHP.
Modifié par Florent V. (24 Feb 2007 - 23:40)
salut, pourquoi incompréhension des includes PHP? J'ai utilisé ici ce qu'on appelle les pseudo-codes. Un code d'ailleurs qui rempli bien son rôle, c.à.d. remplacer les frames en html. La fonction Include vient insérer une page .php dans le frame correspondant du milieu qui aura les propriétés définies dans les css.
Le problème que je n'ai pas encore résolu est d'adapter la largeur
du texte aux écrans 17" et 15" sinon le texte est tronqué à droite. Quelle unité faut-il utiliser dans les mesures? ma bannière du haut est aussi tronquée.

<div id="haut">
<img src="bilder/banner2-bearbeitet-copie.jpg" width="1023" height="144" /></div>
<div id="menu">
<p><strong><a href="index.php?page=home" class="lien">Home</a></strong><br />
<strong><a href="index.php?page=profil" class="lien">Kanzleiprofil</a></strong></p>
<strong><a href="index.php?page=zivilrecht" class="lien">Allgemeines Zivilrecht</a></strong><br />
<strong><a href="index.php?page=insolvenzrecht" class="lien">Insolvenzrecht</a></strong><br />
<strong><a href="index.php?page=strafrecht" class="lien">Strafrecht</a></strong><br />
<strong><a href="index.php?page=verkehrsrecht" class="lien">Verkehrsrecht</a></strong><br />
<strong><a href="index.php?page=inkasso" class="lien">Inkasso</a></strong><br />
<strong><a href="index.php?page=hartz" class="lien">ALG II / Hartz IV</a></strong><br />
<p><strong><a href="index.php?page=kosten" class="lien">Kosten</a></strong><br />
<strong><a href="index.php?page=hinweise" class="lien">Wichtige Hinweise</a></strong><br />
<strong><a href="index.php?page=kontakt" class="lien">Kontakt</a></strong><br />
<strong><a href="index.php?page=formular" class="lien">Formular</a></strong><br />
<strong><a href="index.php?page=impressum" class="lien">Impressum</a></strong></p>
</div>

<div id="frame">
<?php 
if (!isset($_GET['page'])) $page= 'home'; else $page= $_GET['page']; 
 switch($page)
{
case 'home': include ('home.php');break;
case 'profil': include ('profil.html');break;
case 'rechtsgebiete': include ('rechtsgebiete.html');break;
case 'zivilrecht': include ('zivilrecht.html');break;
case 'insolvenzrecht': include ('insolvenzrecht.html');break;
case 'strafrecht': include ('strafrecht.html');break;
case 'verkehrsrecht': include ('verkehrsrecht.html');break;
case 'inkasso': include ('inkasso.html');break;
case 'hartz': include ('hartz.html');break;
case 'rechtsgebiete': include ('rechtsgebiete.html');break;
case 'kosten': include ('kosten.html');break;
case 'hinweise': include ('hinweise.html');break;
case 'kontakt':include ('kontakt.html');break;
case 'formular':include ('formular.html');break;
case 'impressum':include ('impressum.html');break;
} 
?>
</div>
<div id="bas">
<table>
      <tr><td>
        <div align="center"><img src="bilder/banner-unten.jpg" /> 
        </div>
        <p align="center" class="Style1">© 2007 - Sonja Steineck - Bänschstrasse 61, 10247 Berlin | Tel.(030) 41 93 49 13 | Fax (030) 42 01 86 44 | <a href="http://www.rak-berlin.de/">Rechtsanwaltskammer Berlin</a> | Webdesigner-Programmer:<a href="mailto:midiweb@gmx.de">Michael Di Moro</a></p>
		</td>
	</tr>
	<tr>
	
	</tr>
</table>
    
</div>

Merci de vos contributions. a+
Modifié par midiweb (28 Feb 2007 - 12:33)
Bonjour,

midiweb a écrit :
remplacer les frames en html. La fonction Include vient insérer une page .php dans le frame correspondant du milieu qui aura les propriétés définies dans les css.


Non, pas du tout Smiley cligne

Un frameset (les véritables frames) est un affichage effectivement composé de plusieurs pages HTML distinctes et complètes, adressées séparément au navigateur, et assemblées graphiquement et fonctionnallement par celui-ci.

En revanche, ce que vous faites via PHP à l'aide d'include, c'est une page HTML unique, que le serveur compose à l'aide des différents fichiers que vous lindiquez, avant de l'envoyer au navigateur.

Dans le cas des includes, les fichiers inclus ne doivent donc en aucun cas être des pages HTML complètes: pas de doctype, pas de section <head>, pas de <html>, pas de <body> a priori. Uniquement le code HTML approprié à cet emplacement dans le document final.

Concrètement, vous devez retirer notament le doctype et la section head de ce qui est inclu dans votre corps de page.

(F... tutoriel sur les "pseudos-frames en HTML CSS"... Smiley rolleyes )
ok, mais cela peut-être aussi des pages php avec du code html inclus, par ex. un formulaire?Donc si j'enlève dans les pages html incluses, tout ce qui est inutile, mon site s'affichera de toute manière corretement ou mieux je renomme les pages html en php.Non?