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 :

Comment bloquer un float sur une ligne


Sujet :

Tableau en CSS

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment bloquer un float sur une ligne
    Bonjour,

    Je refais un petit site qui a deux lignes et 3 colonnes par ligne.

    Le code html est simple:
    Code HTML : 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
     
    <!doctype html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>title</title>
     
      <meta name="description" content="">
      <link href="css/style.css" rel="stylesheet">
     
      <script src="js/script.js"></script>
     
     
    </head>
    <body>
     
    	<section id="row">
    		<section class="col1" id="dis">
    			col1
    		</section>
    		<section class="col2">
    			<figure>
    				<img alt="" id="logo" class="img-responsive" src="img/logo.jpg">
    			</figure>
    		</section>
    		<section class="col3">
    			menu
    		</section>
    		<section class="col4 hidden-xs">
    			temp
    		</section>
     
    	</section>
     
    	<section id="row">
    		<section class="col1">
    			col1
    		</section>
    		<section class="col2">
    			<p class="turquoise">
    				toto
    			</p>
    			<p>
    				titi
    </p>
     
    		</section>
    		<section class="col3 col-xs-">
    		<!--	<figure>-->
    				<img alt="IMAGE2" class="img-responsive" src="img/01.jpg">
    		<!--	</figure>-->
    		</section>
    		<section class="col4 hidden-xs">
    			temp
    		</section>
     
    	</section>
     
     
    	<script src="js/jquery.min.js"></script>
        <script src="js/scripts.js"></script>
     
    </body>
    </html>

    Donc pour aligner mes colonnes sur une ligne, je fais simplement
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .col1, .col2, .col3{
    	float:left;
    	border-top:1px dotted #fff; /* !!!!! */
    }

    Donc jusqu'à la ca fonctionne.
    Notez l'image de la deuxième ligne, troisième colonne.

    Maintenant, quand je redimensionne mon navigateur avec la souris, et ben il y a effet "bootstrap"; la colonne 3 passe sous la 2, la 2, sous la 1, et surout quand lorsque le navigateur arrive au niveau de l' image de la deuxième ligne...

    Au lieu que mes colonnes s'empilent l'une dessous l'autre, j'aimerais que mon image diminue proportionnellement à la diminution de la largeur de mon navigateur. Mais évidement, ceci ne se produit pas, car "sa" colonne passe sous la colonne précédente.

    Je me demande s'il n'y a pas de solution pour bloquer l'alignement des colonnes un peu comme si j'avais fait un tableau???

    J'ai essayé avec
    mais ca ne change rien et je suis sûre qu'il y a un truc.... non?

    Merci!
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- n'abuse pas des balises <section>. <div> suffit ici.

    2- puisque tu parles de "tableau", regarde :

    • display:table; display:table-cell;
    • display:flex;


    3- Quant à l'image :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    img { max-width:100%; }

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Hello
    Ca s'affiche bine!! Merci!!

    Il y a un truc qui me surprant quand à l'image.

    J'ai bien 4 colonne qui reste sur chaque ligne (PC, j'ai remplacé mes section par des div)
    la colonne 1,2,3,4 se trouvent l'une à cote de l'autre et ne passent plus dessous la précédente quand je diminue la taille du navivateur, MAIS, le texte de la colonne deux est sous l'image de la colonne 3!!

    Je précise, le texte se trouve toujours de la colonne 2 (la deuxième ligne), mais il est aligné sur le bas de l'image de la colonne 3 !!! C'est étrange non?

    J'ai vérifié mon code HTML et je ne vois pas d'erreur.
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  5. #5
    Invité
    Invité(e)
    Par défaut
    Moi non plus je ne vois pas l'erreur.
    Je ne vois pas non plus ton code (corrigé)...


  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Hello
    Ben au niveau du html, j'ai juste modifier les section en div et au niveau du css, j'ai modifié cette ligne
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .col1, .col2, .col3, .col4{
    	/*float:left;*/
    	display:table-cell;
    	border-top:1px dotted #ff22ff; /* !!!!! */
    }

    Le mieux serait de regarder directement le code
    http://www.smart-idea.io/temp/sca/
    On voit bien le texte au dessous de l'image
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Oubliez mon dernier post. Je me paye la honte.
    un m'aligne le texte en haut, comme dans un td.

    Je suis désolé
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/03/2013, 06h48
  2. Comment avoir des div sur une même ligne sans utiliser float ?
    Par Sergejack dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 13/10/2007, 15h31
  3. Réponses: 11
    Dernier message: 11/09/2007, 11h13
  4. Réponses: 6
    Dernier message: 19/09/2006, 09h03
  5. Réponses: 2
    Dernier message: 16/03/2006, 19h07

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