IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

padding ne marche pas dans div absolute ?


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 128
    Par défaut padding ne marche pas dans div absolute ?
    bonjour,
    mon wrapper 960x810 est relatif, maincontent 960x445, ainsi que header, nav bar et footer sont absolus et j'ai trois lignes de texte dans maincontent que je souhaite décaller de 20px vers la droite et 10px vers le bas. padding dans maincontent qui a toujours marché dans les div ne marche pas avec div absolu et le maincontent sort du wrapper et pourtant un padding c'est intérieur !? header et footer sont aussi en absolu.

    pour résoudre cela j'ai ajouté un padding dans <p> et <h1> et cela semble fonctionner. c'est la bonne méthode ?

    j'ai aussi une classe de texte pour laquelle le padding ne change rien du tout par rapport à <h1> et <p>. pourquoi ?

    merci d'avance
    Marc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    #wrapper {
    	background-color: #000000;
    	text-align: left;
    	width: 960px;
    	margin-top: 0px;
    	margin-right: auto;
    	margin-bottom: 0px;
    	margin-left: auto;
    	border: 3px solid red;
    	position: relative;
    	height: 810px;
    }
     
    #maincontent {
    	background-color: #999999;
    	line-height: 1.5;
    	border: 1px solid black;
    	height: 445px;
    	width: 960px;
    	position: absolute;
    	left: 0px;
    	top: 297px;
    	right: 0px;
    	bottom: 0px;
    	padding-left: 25px;
    }
     
    .maincontent_text {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 11px;
    	font-style: normal;
    	font-weight: normal;
    	color: #0467CD;
    	padding: 0px;
    	margin: 0px;
    }
     
     
    #maincontent h1 {
    	font-variant: small-caps;
    	color: #00FFFF;
    	padding-top: 10px;
    	padding-right: 0px;
    	padding-bottom: 0px;
    	padding-left: 10px;
    }
     
    #maincontent p {
    	font-variant: small-caps;
    	color: #0000FF;
    	padding-top: 0px;
    	padding-right: 0px;
    	padding-bottom: 0px;
    	padding-left: 100px;
    }
     
    <body>
     
    <div id="wrapper">
     
    <div id="maincontent">
     
      	<h1>Main content</h1>
     
          	<p>Ligne 1</p>
          	<p>Ligne 2</p>
          	<p>Ligne 3</p>
     
            <span class="maincontent_text">mon texte</span>
     
    </div>  <!-- end of maincontent -->
     
    </div>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 128
    Par défaut re
    je pense que ce sont mes width de chaque div qui posent problème.
    j'ai seulement gardé le width du wrapper et les padding semblent fonctionner.
    je viens de cosntater que j'ai le même souci avec les height fixes.

    quand on travaille en absolute ou en float et qu'on sait qu'on aura un flash swf de H=300 dans header, un menu avec des boutons de H=30px,... n'est-il pas conseillé de spécifier la hauteur ?

    merci

  3. #3
    Membre chevronné Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Bonjour,
    Le padding marche très bien. Le comportement de #maincontent qui sort de son parent #wrap est tout à fait normal car position absolue + largeur plus grande que le parent = débordement.

    Le mieux serait déjà de ne pas utiliser de position absolute dont l'utilisation ici n'est guère nécessaire.
    Si tu ajoutes un padding, tu vas devoir retirer de la largeur car width + padding = 985px au lieu des 960px désirés.

    Pour le padding sur le span, effectivement, cela ne marche pas. Cette balise est de type inline et n'a donc pas le même comportement qu'un élément de type block (div, p, form, etc...). Son but premier, c'est d'embellir du texte.
    Si tu veux que ton span réagisse comme un div ou un p, tu lui ajoutes la propriété display:block. Dans ton cas, j'aurais plutôt utilité une balise p qui me paraît plus judicieuse.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 128
    Par défaut re
    merci beaucoup,

    je vais essayer de passer tout en float.
    sinon, avant de cloturer le sujet, dans cet exemple avec des absolute,
    j'ai remplacé mon span footer par un div et le bkg-color du footer ne s'étend pas sur les 900px mais se limite au texte. pourquoi ?
    cela m'arrive souvent quand je fais un div avec une couleur de fond que cette couleur ne s'étende pas au reste du div

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #footer {
    	background-color: #CCCCCC;
    	text-align: center;
    	margin: 0px;
    	height: 100px;
    	left: 0px;
    	top: 749px;
    	padding-top: 50px;
    	padding-left: 0px;
    	position: absolute;
    }
     
     
    .footer_text {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 11px;
    	font-style: normal;
    	font-weight: normal;
    	color: #0467CD;
    	padding: 0px;
    	margin: 0px;
    	background-color: #99CC00;
    }
     
    <div id="footer">
        <hr />
        <div class="footer_text">mon texte</div>
        <p>Footer</p>
    </div>  <!-- end of footer -->
    merci

  5. #5
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonsoir

    Je ne vois pas exactement de quoi tu parles : vu que je ne vois pas de height 900px dans ton code...

    C'est quel élément qui as une couleur qui ne s'étend pas dans sa hauteur ? #footer ou .footer_text ?

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonsoir,

    Citation Envoyé par desert Voir le message
    Pour le padding sur le span, effectivement, cela ne marche pas. Cette balise est de type inline et n'a donc pas le même comportement qu'un élément de type block (div, p, form, etc...). Son but premier, c'est d'embellir du texte.
    padding fonctionne correctement sur les éléments de rendu inline, c'est plutôt margin qui ne pourrait être attribuer qu'aux éléments de rendu block et inline remplacés (input, img etc.)

    Citation Envoyé par ml1234
    j'ai aussi une classe de texte pour laquelle le padding ne change rien du tout par rapport à <h1> et <p>. pourquoi ?
    Ta question n'est pas claire.

    Citation Envoyé par ml1234
    j'ai remplacé mon span footer par un div et le bkg-color du footer ne s'étend pas sur les 900px mais se limite au texte. pourquoi ?
    Un élément positionné en absolute s'adapte à la taille de son contenu et non pas son conteneur, il faudrait rajouter un width:100% à ton footer.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 128
    Par défaut re
    merci à tous
    je ne connaissais pas le width de 100%, c'est super.
    j'avais aussi fait une barre de menu horizontale avec des li et mon bkg (repeat) n'allait pas jusqu'au bout, width=100% marche aussi.
    deux problèmes résolus en même temps, chouette.
    je marque le sujet comme résolu sinon je vais encore me faire tirer les oreilles -)

    marc

  8. #8
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par ml1234 Voir le message
    je marque le sujet comme résolu sinon je vais encore me faire tirer les oreilles -)
    Je ne suis pas sûr que tu sois sur la bonne voie ...
    Un peu de lecture pour mieux comprendre le principe.

  9. #9
    Membre chevronné Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    padding fonctionne correctement sur les éléments de rendu inline, c'est plutôt margin qui ne pourrait être attribuer qu'aux éléments de rendu block et inline remplacés (input, img etc.)
    Ouep. Au temps pour moi, seuls les paddins horizontaux fonctionnent.
    Merci de la rectification.

  10. #10
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par desert Voir le message
    Ouep. Au temps pour moi, seuls les paddins horizontaux fonctionnent.
    Enfaite, le padding-bottom fonctionne aussi sur les navigateurs alternatifs et IE8.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Outlook ne marche pas dans mon réseau sous linux
    Par Germain123 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 25/03/2006, 22h15
  2. Balise <PRE> marche pas dans un form
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/11/2005, 09h20
  3. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11
  4. [CSS][IE]background d'affiche pas dans div sur IE
    Par Thomzz dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 21/09/2005, 23h32
  5. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo