28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,
Petit préambule: merci à ce site et à ses contributeurs d'exister, ça aide pas mal quand on a des soucis un peu particulier et qui ne sont repris nulle part dans les doc officielles (ou alors qui sont difficiles à trouver).... Merci à vous

Maintenant, le petit truc qui m'embête depuis deux jours...

J'essaie de faire un site depuis zéro en html5 et CSS3(?) et j'ai un chevauchement entre mon footer et ma section; à noter que si je mets un "aside" en dessous, ça le fait aussi; pouvez-vous m'aider?

voici ma partie html; les footer et section, ne contiennent que du blabla pour l'instant

<!DOCTYPE html>
<html>
    <head>
	<link rel="icon" href="images/favicon.png" />
        <meta charset="utf-8" />
			<!--[if lt IE 9]>
    			<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
			<![endif]-->
        <link rel="stylesheet" href="pages/style.css" />
        <title>Red Knights Europe</title>
    </head>
    <body>
		<div id="page">
	<?php include("pages/header.php"); ?>
    	<?php include("pages/menu1.php"); ?>
	<?php include("pages/menu2.php"); ?>
	<?php include("pages/section1.php"); ?>
	<?php include("pages/footer.php"); ?>
		</div>
    </body>
</html>


voici ma partie css pour l'agencement (je le met entier pour que vous puissiez donner un avis, je rappelle que je pars de zéro); merci

/* Définition des polices du site */
@font-face { 
  	font-family: 'police1';
    		src: url('polices/police1.ttf');
}
@font-face { 
  	font-family: 'police2';
    		src: url('polices/police2.ttf');
}
body 
{
 	background-color: red; 
	font-size: 100%;
	background-image: url(../images/fond.jpg);
	color: #ffffff;
}
a:link
{
	color: white;
	text-decoration: none;
}
a:visited 
{
	color: gray;
}
a:hover
{
	color: red;
}
a:focus
{
	color: red;
}
a:active 
{
	color: red;
}

/* Utilisation de la police1 sur les titres h1 */
h1 
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les titres h2 */
h2
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les titres h3 */
h3
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les titres h4 */
h4 
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les titres h5 */
h5
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les titres h6 */
h6
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les listes quelconques ul */
ul
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les paragraphes p */
p
{
    font-family: 'police1', Arial, Verdana, serif;
}
/* Utilisation de la police1 sur les listes numérotées ol */
ol
{
    font-family: 'police1', Arial, Verdana, serif;
}
div#page {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 100%;
	width: 100%;
}
/* Caractéristiques des includes */
header.header1
{
  	background-color: rgba(0, 100, 0, 0.4);	
	border: 1px dashed black;
	border-radius: 0 0 10px 10px;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 10px;
}
nav.menu1
{
	float: left;
  	background-color: rgba(100, 0, 0, 0.4);	
	display: inline-block;
	width: 180px;
	border: 1px dashed black;
	border-radius: 0 10px 10px 0;
	vertical-align: top;  
}
nav.menu2
{
	float: right;
  	background-color: rgba(0, 0, 100, 0.4);	
	display: inline-block;
	width: 180px;
	border: 1px dashed black;
	border-radius: 10px 0 0 10px;
	vertical-align: top;
}
section.section1
{
  	background-color: rgba(0, 0, 255, 0.4);	
	border: 1px dashed black;
	border-radius: 10px;
	margin-left: 190px;
	margin-right: 190px;
	padding: 10px;
}
aside.aside1
{

  	background-color: rgba(0, 255, 0, 0.4);	
	border: 1px dashed black;
	border-radius: 10px;
	margin-left: 190px;
	margin-right: 190px;
	padding: 10px;
}
footer
{
	clear: both;
}
footer.footer1
{
	background-color: rgba(255, 0, 0, 0.4);	
	text-align: center;
	position: absolute;
	bottom: 0;
	border: 1px dashed black;
	border-radius: 10px;
	margin-left: 190px;
	margin-right: 190px;
	padding: 10px;

}
Salut,
il suffit d'enlever le position: absolute; de footer.footer1

Edit : et le clear:both aussi du coup. Sinon il flotte en dessous des menus de gauche ou droite
Bonne journée
Modifié par mathieu1004 (22 Jan 2014 - 13:37)
Merci, effectivement, ça fonctionne mais ça entraîne un problème que je pensais résoudre avec "position:xx;" , mon footer remonte dans ma page.....

J'ai mis à jour mon exemple

http://redknightsmc.eu/TEST


Bonne journée aussi

édit, je le voudrais (mon footer) soit en bas de la page, entre les deux menus, soit tout en bas avec 100% de largeur de page, peu importe; j'ai essayé plein de manip (position fixed, absolute, etc... mais pour l'instant rien
Modifié par kastor (22 Jan 2014 - 14:14)
salut,
je pense que le mieux serait que tu prenne un peu de temps pour comprendre et maîtriser le positionnement CSS. Tu trouveras tout ce dont tu as besoin sur ce site.
Il faut savoir déjà que la propriété "font" est héritée et qu'il n'est donc pas nécessaire de la réécrire à chaque s'il s'agira de la même police, un simple

body {font-family: 'police1', Arial, Verdana, serif}

suffit.
Il faut savoir aussi que ça ne sert à rien de combiner un "float" et un "display:inline-block", le "float" l'emportera.
Le positionnement en absolue est rarement la meilleure solution. Donc encore une fois, mieux vaut prendre le temps de bien comprendre ce que l'on fait.
Euh merci pour tes indications... mais je pensais déclarer plusieurs polices et adapter par exemple une police pour mes titre h1, et une autre pour mes p....

Concernant ton autre indication

"suffit.
Il faut savoir aussi que ça ne sert à rien de combiner un "float" et un "display:inline-block", le "float" l'emportera.
Le positionnement en absolue est rarement la meilleure solution. Donc encore une fois, mieux vaut prendre le temps de bien comprendre ce que l'on fait."


Je n'ai pas compris grand chose, pour l'instant je débute pas à pas (avec votre site et celui du zéro) mais je n'ai pas encore assimilé toutes les subtilités du css... un autre conseil?

édit: display: inline-block supprimés... position "fixed" me "colle" le footer en bas de page mais ce n'est pas le but recherché, la position absolute fonctionne bien mais si ma section est trop grande, il y a chevauchement..... bref retour à la case départ.
Modifié par kastor (22 Jan 2014 - 14:29)
Ah mais c'est ce que je disais dans le premier message en edit. Il suffit de laisser le clear:both pour qu'il soit en dessous des menus.
Et pour qu'il prenne toute la largeur du coup tu enlèves les 2 margin left et right de 190px.

Mais tu as 2 3 bons articles sur alsacreation qui résume bien les positionnement en css ( notamment le float le position absolute et le display inline-block)
Merci, effectivement ça fonctionne; je peux "agrandir" ma section sans problème, le footer est bien en bas.... je peux même laisser les marges....