28172 sujets

CSS et mise en forme, CSS3

Bonjour,

J'explore un peu Flexbox et je suis allé voir ce site

Démo Flexbox

et sur mon PC Windows 8.1, avec IE 11 il me dit gentiment que

"Hi, this page uses Modernizr to detect support for CSS Flexbox which appears to be unsupported by this browser. If you would like to view the demos, check out browser support for CSS flexbox and try using a supported browser."

et le Flexbox ne fonctionne pas, tous les éléments sont empilés..

c'est quoi cette plaisanterie, je croyais que IE 11 était compatible avec Flexbox....

avec Chrome et Firefox, aucun problème.

------------------------------------

sur mon ordi portable avec win 10 (et Edge) , ça va aussi, ça marche.
Bonsoir Lionel_css3,

Je ne suis pas un fanatic de tout ce qui est à la pointe des CSS3.
Mais en générale, quand on surf sur la ligne jaune(comprenez : en travaux/ in progress comme disent nos amis outre atlantique) il faut s'attendre a quelques bug. J'ai trouvé celui-ci https://github.com/Modernizr/Modernizr/issues/1301 Je t'invite à te rapprocher d'eux.

Mais ton cas semble bien plus grave. A tu essayé avec la version 3 de Modernizr ? Car la page de démo semble utiliser la version 2.5

Bien à toi,
Administrateur
Hello,

"Cette blague", c'est malheureusement un article qui n'est plus du tout à jour Smiley decu

Les "display: flexbox" ou "display: box" évoqués dans l'article sont des anciennes versions obsolètes de la spécification alors en brouillon. La bonne valeur est "display: flex".

C'est vraiment dommage que de telles ressources ne se mettent pas à jour Smiley decu

(sans vouloir faire de pub, l'article d'Alsacréations sur Flexbox est à jour, lui Smiley cligne )
Modifié par Raphael (13 Oct 2015 - 21:03)
Raphael a écrit :
l'article d'Alsacréations sur Flexbox est à jour

C'est cette article : CSS3 Flexbox ?


Raphael a écrit :
Les "display: flexbox" ou "display: box" ... sont ... obsolètes. La bonne valeur est "display: flex".
C'est ça la blague ? Qu'il n'arrive pas a se mettre d'accord sur le nom des attribues?

Ca serrai si simple avec :

<div style="display:grid; col:5;">
  <!-- chaque enfant est une cellule : comme pour les table -->
  <div style="stretch-x:1;">Profil</div>
  <div style="stretch-x:1;">Location</div>
  <div style="stretch-x:1;">Contrat</div>
  <div style="stretch-x:1;">Charge</div>
  <div style="stretch-x:1;">Loyer</div>
  <!-- new row -->
  <div style="stretch-x:1; span:2;">Info</div>
  <div style="stretch-x:1;"></div>
  <div style="stretch-x:1;">Messagerie</div>
  <div style="stretch-x:1;span:2;"><img src="" /></div>
  <div style="stretch-x:1;"></div>
  <!-- new row -->
  <div style="stretch-x:1;">Sauvegarder</div>
  <div style="stretch-x:1;">Locataire</div>
  <div style="stretch-x:1;">Impayés</div>
  <div style="stretch-x:1;">Travaux</div>
  <div style="stretch-x:1;">Diagnostique</div>
  <!-- new row -->
  <div style="stretch-x:1;">Document</div>
  <div style="stretch-x:1;span:2;"><img src="" /></div>
  <div style="stretch-x:1;"></div>
  <div style="stretch-x:1;">Conseil</div>
  <div style="stretch-x:1;"></div>
</div>

On pourrai facilement créer des :
upload/60168-accueilpro.png

C'est inspiré de Qt. Et franchement les ingé de Qt il ont de la gueule!
La preuve en image : https://www.youtube.com/watch?v=NbTEVbQLC8s
Trop visionnaire Smiley winner "Come on to the Qt 4 dance" Smiley listen
Ah.. merci, je faisais confiance à la page en question et j'avais pas vérifié le code, mais pourtant j'ai le même problème (sous IE) avec les exemples de ce tuto très récent , et très sérieux de chez Lynda.com
tuto Lynda flexbox

les blocs s'affichent les uns sur les autres...
Administrateur
Hello,

Safina a écrit :

C'est cette article : CSS3 Flexbox ?

Oui, c'est bien cet article.

Safina a écrit :
C'est ça la blague ? Qu'il n'arrive pas a se mettre d'accord sur le nom des attribues?

Non, rien à voir. Les brouillons de spécifications ont changé plusieurs fois de nommage, ce qui n'est pas forcément incohérent avec le fait d'être en brouillon justement.
Ce qui est fâcheux, ce sont tous les articles rédigés à l'époque de ces brouillons, avec l'ancien nommage donc, et qui ne se sont pas mis à jour avec le nommage actuel final (depuis 2012 quand-même)

Safina a écrit :
Ca serrai si simple avec :

C'est inspiré de Qt. Et franchement les ingé de Qt il ont de la gueule!

Euh oui, mais là tu parles d'une autre spécification existante qui n'a rien à voir avec Flexbox et qui s'appelle "Grid Layout" (actuellement en brouillon et uniquement compatible IE pour l'instant) :
http://www.w3.org/TR/css-grid-1/

Mais accessoirement, on peut aussi créer des grilles avec Flexbox : http://www.alsacreations.com/tuto/lire/1659-une-grille-responsive-avec-flexbox-et-LESS.html
Modifié par Raphael (14 Oct 2015 - 07:59)
Administrateur
lionel_css3 a écrit :
j'ai le même problème (sous IE) avec les exemples de ce tuto très récent , et très sérieux de chez Lynda.com
tuto Lynda flexbox

les blocs s'affichent les uns sur les autres...

Tu peux donner un exemple de code précis qui ne fonctionne pas sur IE (et vérifier en passant que tu as bien IE11) ?

Note : il s'agit peut-être d'un bug connu et déjà répertorié ici : https://github.com/philipwalton/flexbugs
ma version de IE => 11.2.9600.18053

quand au code:

le html


<main class="main-area">
        
        <div class="centered">

            <section class="cards">
                
                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/banana-wide.jpg" alt="A banana that looks like a bird">
                        </picture>
                        <div class="card-content">
                            <h2>The Banana Bird</h2>
                            <p>This banana looks a lot like a bird, doesn't it? When originally posted there was some debate whether it was a hummingbird, a seagull, or a crow. I stand by my earlier statement that it is a banana.</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/boller.jpg" alt="Norwegian boller">
                        </picture>
                        <div class="card-content">
                            <h2>Norwegian Boller</h2>
                            <p>Boller - or sweet wheat buns - is a favored snack and comfort food for Norwegians, especially enjoyed for childrens' birthdays or on a cold and rainy/snowy day coupled with hot cocoa.</p>
                            <p>One of the key ingredients of boller is cardamom - something that gives them a distinct aroma and gives them the more lengthy name "cardamom boller".</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/dinosaur-jacket.jpg" alt="A dinosaur wearing an aluminium jacket">
                        </picture>
                        <div class="card-content">
                            <h2>A Dinosaur and Its Jacket</h2>
                            <p>They say dinosaurs had feathers. I prefer to think they were a bit more stylish than that, as proven by this dinosaur wearing a swanky aluminium coat.</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/boller-surprise.jpg" alt="Chocolate filled boller">
                        </picture>
                        <div class="card-content">
                            <h2>A Sweet Surprise</h2>
                            <p>Oh yes: Sometimes when you bake boller, you put a piece of chocolate (usually dark) in the center before baking. That way when an unsuspecting recipient bites into the baked deliciousness they get a sweet surprise.</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/chocolate-frog.jpg" alt="Chocolate frog on oranges">
                        </picture>
                        <div class="card-content">
                            <h2>Chocolate Frogs Love Oranges</h2>
                            <p>You know what's better than a chocolate covered caramel filled frog from Denmark? A chocolate covered caramel filled frog from Denmark served with juicy slices of orange.</p>
                            <p>Did I mention I like oranges?</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/diving-bird.jpg" alt="A whiskey jack taking a dive">
                        </picture>
                        <div class="card-content">
                            <h2>Taking the Plunge</h2>
                            <p>The Whiskey Jack is a surprisingly large bird that likes to eat food held up by tourists. In spite of what the image suggests, it does in fact have wings.</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

                <article class="card">
                    <a href="#">
                        <picture class="thumbnail">
                            <img src="images/cropped/pool-cue-jenga.jpg" alt="Playing Jenga with pool cues">
                        </picture>
                        <div class="card-content">
                            <h2>The Best Game Ever Invented</h2>
                            <p>On a recent trip to Europe my brothers and I invented a new game called "Pool Cue Jenga". It is the best game ever invented.</p>
                            <p>The rules are simple: You must use a pool cue to remove tiles. Only one cue can be used, and you can not use your fingers.</p>
                        </div><!-- .card-content -->
                    </a>
                </article><!-- .card -->

            </section><!-- .cards -->
           
        </div><!-- .centered -->
        
    </main>



le CSS


/* Flexbox stuff */

@media screen and (min-width: 40em) {
    .cards {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: -1em;
    }

    .card {
        display: flex;
        flex: 0 1 calc(50% - .5em);
        margin-bottom: 1em;
    }
}

@media screen and (min-width: 60em) {
    .cards {
        margin-top: inherit;
    }
    
    .card {
        flex: 0 1 calc(33% - 1em);
        margin-bottom: 2em;
    }
}
Merci Raphaël, effectivement je viens de me replonger dans ce problème et j'ai essayé une valeur (sans calc), du style "flex: 0 1 30%;" et là ça fonctionne et dans la foulée je vois ta réponse, alors merci à toi pour la précision..