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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    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!

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532

  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
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    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.

  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
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    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

+ 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