Bonjour. visiteurs jour : 218
Au président
Beauté santé
Infos loisirs
Ensemble
Jean
Informatique
Relativité
Relativity
Les joies de l'informatique et de l'internet !
Accueil - Disques - Excel - Informatique - Infos - Internet - Javascript - logiciels - Programation - Sites RJ - Vidéo - Plan du site -
"Mobile Friendly" Le désign est souple et s'adapte aux tailles d'écran avec des zones tactiles suffisamment espacées. Passer en HTML 5
Site "Mobile Friendly"
La méthode "Responsive Design" propose de créer deux pages de présentations (CSS) Depuis avec les médias queries on adapte le CSS aux différentes taille d'écran dans une seule CSS
Google a un test de compatibilité mobile. Indiquer l'url de la page et il dit si elle est "Mobile Friendly" pour lui
Design proportionnel :donner les tailles en %. ou mieux auto (Width, Height, padding, Margin) font-size: 80..5%
<!DOCTYPE html>
<html lang="fr">
<meta charset="iso-8859-1"/>
Ajouter la balise meta viewport :
<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" />
(le content="width=device-width, est inutile)
Tout savoir sur le Viewport "Comprendre le Viewport dans le Web mobile".
@media all and (max-device-width: 680px) {
/* Vos règles CSS pour les mobiles ici */
#banniere_image { display: none; }
nav ul { flex-direction: column; }
.col_2 {width:calc(100% - 166px)}
}
Largeur du viewport par défaut
Opera Mobile 850 pixels
iPhone Safari 980 pixels/490
Android 800 pixels/400
Windows Phone 1024 pixels /512
1 point d'arrêt (iPhone 5s): 320px
Point d'arrêt 2 (iPhone 6+): 414px
3 points d'arrêt (iPad Mini): 703px
4 points d'arrêt (iPad Air): 768px
Toujours plus:
smartphones règle < 768px
smartphones modernes > 768px à <1024px
ordinateurs > 1024
Une feuille de styles de base pour le Web mobile
Design fluide entre 768px et 1024px : .container {min-width :768px; max-width :1024px;}
@media all and (max-width: 1024px) {
#bloc_page { width: auto; }
}
@media only screen and (min-width:600px){
//min-width:800px (min-width:960px){
@media (max-width: 640px) {
* { box-sizing border-box;}
/* passer body (et tous les éléments de largeur fixe) en largeur automatique */
body { width auto;margin 0;padding 0;}
/* fixer une largeur maximale de 100% aux éléments potentiellement problématiques */
img, table, td, blockquote, code, pre, textarea,
input, iframe, object, embed, video { max-width 100%; }
/* conserver le ratio des images */ img {height auto;}
/* gestion des mots longs */
textarea,table,td,th,code,pre,samp {-webkit-hyphens auto; /* césure propre */
-moz-hyphens auto;hyphens auto; word-wrap break-word; /* passage à la ligne forcé */}
code,pre,samp { white-space pre-wrap; /* passage à la ligne spécifique pour les éléments à châsse fixe */}
/* Passer à une seule colonne (à appliquer aux éléments multi-colonnes) */
.element1,.element2 {float none;width auto;}
/* masquer les éléments superflus */
.hide_mobile { display none !important;}
/* Un message personnalisé */
body:before {content "Version mobile du site";display block;text-align center;font-style italic;color #777;}
} //fin de @media (max-width: 640px)
La touche finale : réduire de façon harmonieuse toutes les tailles de polices en orientation paysage
(car bugguée sur les périphériques iPhone et iPad).
@media (max-device-width:768px) and (orientation: landscape) {
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
}
source Alsa Creation
<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" />
Le "initial-scale=1.0" = prendre en compte le pixel-ratio du media-système.
mais le "user-scalable=yes" autorise lutilisateur à zoomer.
/* CSS Normal */
#sidebar {float: right; width: 200px;} // la colone de droite
#main { margin-right: 200px;} // le corps de la page
@media (max-width: 1024px) {/* CSS appliqué aux petits écrans */
#sidebar {float: none; width: auto; }
#main { margin-right: 0px; }
}
images de fond
background-image
background-size limage est placée telle quelle on coupe ce qui dépasse
background-size: contain limage est ajustée pour être entièrement visible.
background-size: cover on agrandit les proportions pour quelle recouvre tout,
puis on découpe ce qui dépasse en bas ou à droite.
background-size: 50px 70px (limage fait 50px par 70px)
background-size: 100% 100% (limage fait la taille du bloc,
quitte à perdre ses proportions) :
Tableau - exemple n lignes m colonnes
Sur un écran de mobile, quand laffichage normal ne permet plus de placer
toutes les cellules du tableau côte à côte, on linéarise verticalement
le tableau : ici on cré n tables avec les tr
et on met les m td de chaque table en colonne
table, tbody { display: block; }
tr { display: table; }
td { display: table-row; }
ligne de texte sans espace trop longue,body { word-wrap: break-word; }
pre { white-space: pre-wrap; } /* pour firefox et les <pre> */
un effet de « :hover » est déclenché avec le tapotement sur lécran. Si vous avez un menu déroulant, il est possible de dérouler en tapant dessus, tout simplement.
si le menu contient des liens ou des boutons cliquables, le « tapotement »
peut accidentellement se propager sur un lien,appliquer une transition
#nav:hover ul { transition: 0s linear .05s;}lapparition différé de 50 millisecondes.
LE HOLLANDAIS VOLANT
/*