Astuce css: avoir une DIV qui occupe 100% du viewport

Grâce à CSS3, c'est super simple, il suffit d'utiliser l'unité vh: 100vh = la hauteur du viewport (la zone visible de l'écran)

Du coup, on peut même avoir une barre de menu et d'icônes puis en-dessous une div qui occupe tout le reste du viewport en recourant à calc():

#mon_wrapper{
     height: calc(100vh - 64px); /* 64px = la hauteur du menu+ celle de la barre d'icônes */
}

C'est juste... Beau.

Lire la suite de Astuce css: avoir une DIV qui occupe 100% du viewport

J'adore les selecteurs css

Sur une page HTML, j'avais besoin de filtrer en temps réel un grand nombre de photos... ben c'est vraiment simple.

Tu mets un input texte avec un onkeyup qui récupère sa valeur et tu utilises le sélecteur

"img[src*='"+filter+"']" 
pour récupérer toutes les images qui correspondent (celles qui contiennent le filtre).

c'est tout.

En gros et avec mon VanillaJS:

on("keyup","#filter",function(){
        filter=this.value;
        if (filter){
            hide("#images img");
            show("#images img[src*='"+filter+"']")
        }else{
            show("#images img");
        }       
    })

Lire la suite de J'adore les selecteurs css

Broncomic: perdre du temps à le gagner

Depuis quelques temps, j'avais envie de passer à un style plus cartoon... c'est fait.

Mais j'aimais bien l'idée de faire de petites BD courtes pour faire passer un message, aérer les articles, dire des conneries etc. Or, quand on est un warrior du dimanche, on se dit que faire à chaque fois les choses à partir de zéro, c'est tout de même un peu con, surtout quand on manque de temps vraiment libre pour s'y atteler.

En vrai codeur du dimanche que je suis, je me suis dit qu'une appli qui superposerait des «calques» permettrait de choisir rapidement des éléments séparés sélectionnés dans une banque de dessins de base afin de produire sans prise de tête une case vite-faite-sur-le-gaz.

Le mot-clé étant «rapide»

Me voici donc en train de faire un test ou deux pour trouver le moyen d'éviter la balise canvas que je trouve imbitable... Je tombe sur html-to-image qui fait le job. Le reste, c'est du css de base - mon rayon.

Après réalisation de cette appli sur la base de mon framework secret (chut) ça marche pas mal du tout. A défaut de vous la faire tester (je dis déjà assez de conneries comme ça sans que vous m'en fassiez dire davantage bande de tarés ) voici quelques captures d'écran :

La partie supérieure contient le visuel en cours, la partie du bas, les différents objets qu'on peut superposer répartis dans des onglets.

imageimageimageimageimage

Un bémol, j'ai pas réussi à faire un POST du blob pour sauvegarder sur le serveur afin d'obtenir une adresse de partage anonymisée (genre broncomic.warriordudimanche.net?comic=65df4gs6df5g4s6d).

J'en suis réduit à télécharger l'image pour l'uploader ensuite dans mon blog. C'est un peu con, mais comme j'avais fait un plugin permettant d'uploader des images directement en les déposant sur la page d'édition d'articles, c'est pas trop chiant en fait.

TCHUSS

6 Balises HTML5 intéressantes

Je me suis aperçu récemment de l'existence de la balise details et je me suis dit que je pourrais me noter celles qui me feraient de l'usage dans un éventuel avenir.

<details>

L'élément HTML details sert à créer une ligne de résumé permettant de révéler plus d'informations sur un clic.

L'attribut [open] permet de styler l'ensemble lorsqu'il est ouvert.


<style>
    details{font-style:italic;cursor:pointer}
    details:after summary{content:"▶"}
    details[open]:after summary{content:"▼"}
    details p{margin-left: 25px}
</style>
<details>
  <summary>Ligne de résumé.</summary>
  <p>Tout plein de détails extrêmement intéressants pour ceux qui veulent mais inutiles pour les autres...</p>
</details>
Ligne de résumé.

Tout plein de détails extrêmement intéressants pour ceux qui veulent mais inutiles pour les autres...

en savoir plus - compatibilité 92% et pas sur edge

<dialog>

Crée une boîte de dialogue dans laquelle on peut mettre ce que l'on veut. L'attribut open contrôle l'ouverture et la fermeture

en savoir plus - compatibilité 75%, c'est peu...

<data>

La balise data permet d'ajouter une valeur interprétable par une machine à une valeur lisible par un humain: plus simplement, on peut relier le nom d'un produit à son ID dans la base de données par exemple.

<p>New Products:</p>
<ul>
    <li><data value="398">Mini Ketchup</data></li>
    <li><data value="399">Jumbo Ketchup</data></li>
    <li><data value="400">Mega Jumbo Ketchup</data></li>
</ul>

en savoir plus - compatibilité 99%

<base>

Fournit l'url de base et le target pour tous les liens relatifs de la page. en savoir plus - compatibilité 98%

<meter>

Crée une jolie jauge dont on définit le remplissage afin de représenter visuellement une proportion. Elle utilise les mêmes attributs qu'input number (min, max, value) et y ajoute high, low et optimum qui définissent respectivement à partir de quel nombre la valeur est haute ou basse ainsi que la valeur considérée comme optimale.

Il faudra prévoir l'affichage de la valeur courante (et cette balise n'accepte pas les pseudo-éléments before et after)


<meter value="2" min="0" max="10" low="2">2 out of 10</meter>
meter value="0.6">60%
2 out of 10 60%

en savoir plus - compatibilité 95%

<progress>

Comme meter, progress crée une... barre de progression. Elle utilise les attribut max et value.

Il faudra prévoir l'affichage de la valeur courante (et cette balise n'accepte pas non plus les pseudo-éléments before et after)


<progress value="2" min="0" max="10" low="2">2 out of 10</progress>
progress value="0.6">60%
2 out of 10 60%

en savoir plus - compatibilité 98%

image
Fil RSS des articles de ce mot clé
  • @cochise t'es con ^^ J'ai failli marcher en fait ^^