Les changeurs de style sont devenus une fonctionnalité populaire sur les sites Web de nos jours. Les feuilles de style CSS permettent à un concepteur Web de modifier l'aspect et la convivialité d'un site Web avec peu d'effort. Certains sites utilisent des sélecteurs de style de type "Jour" et "Nuit" qui changent automatiquement le thème du site en fonction de l'heure..
Ce didacticiel explique comment créer un sélecteur de feuille de style CSS basé sur le temps à l'aide de PHP, qui vous permet de modifier plusieurs feuilles de style à la fois et à des heures précises de la journée. Il y a aussi un peu de jQuery UI jeté dans juste pour le plaisir!
L’inconvénient d’utiliser PHP pour un sélecteur de feuilles de style CSS basé sur le temps est que l’heure est basée sur le serveur d’hébergement Web ou sur un "fuseau horaire" défini dans le script..
Lorsque je construisais mon site de portfolio personnel, j'ai créé un commutateur de feuille de style basé sur le temps utilisant JavaScript et jQuery. La fonction de temps du script a fonctionné correctement. Cependant, il y avait toujours un bref "flash" de la feuille de style par défaut lorsque les pages Web chargées.
Les sites Web très chargés en JavaScript peuvent avoir des problèmes de conflits entre divers scripts JavaScript. J'ai décidé d'utiliser plutôt PHP pour le sélecteur de feuilles de style CSS. Comme PHP est côté serveur, il n’ya pas eu de conflits JavaScript et le script a fonctionné comme prévu..
L’inconvénient d’utiliser PHP pour un sélecteur de feuilles de style CSS basé sur le temps est que l’heure est basée sur le serveur d’hébergement Web ou sur un "fuseau horaire" défini dans le script. Avec JavaScript, vous pouvez définir des fonctions de temps basées sur l'ordinateur de l'utilisateur..
Si vous débutez en PHP, vous devez configurer et configurer un environnement de serveur sur votre ordinateur local (les fichiers PHP ne peuvent pas être visualisés dans un navigateur Web). Ma préférence personnelle est XAMPP. Cet article contient quelques options logicielles et des instructions de base sur la configuration d’un serveur local..
Bien que vous puissiez utiliser Notepad pour créer et modifier des fichiers PHP, un éditeur de code peut s'avérer très utile lors de la création de pages Web en PHP et dans d'autres langages de programmation. Veuillez vous référer à ces articles pour plus d'informations sur le choix d'un éditeur de code:
Le code utilisé dans le didacticiel crée un commutateur de feuille de style CSS de base. Vous pouvez voir la démonstration ici. Les fichiers source incluent deux démos supplémentaires.
Maintenant, commençons!
Créez une feuille de style CSS appelée style-1.css
et inclure le code suivant:
/ * Styles par défaut -------------------------------------------------- ----- * / body margin: 0px; remplissage: 0px; background: url ("… /images/bokeh_2.jpg"); position de fond: en haut à gauche; répétition de fond: non répétée; attachement de fond: fixe; couleur de fond: # 666; taille de police: 20px; font-family: Arial, Helvetica, sans serif; couleur: #fff; text-align: left; #wrapper width: 965px; marge: 0 auto; position: relative; a: lien, a: visité, a: actif color: # 99ccff; a: hover color: # 0073ea; .content_container_1 float: left; largeur: 650px; marge: 0px 0px 60px 0px; p.main_description margin: 5px 0px 50px 0px; text-align: center; / * Main Image --------------------------------------------- ------ * / .main_image background: url ("… /images/images_26/how-to-create-a-time-based-css-style-sheet-switcher_7.jpg"); répétition de fond: non répétée; largeur: 630px; hauteur: 425px; bordure: #fff solide 10 px; marge: 40px 0px 10px 0px; / * Onglets ---------------------------------------------- ----- * / #tabs p font-family: Arial, Helvetica, sans-serif; taille de police: 20px; a.tabs_link_1: lien, a.tabs_link_1: visité, a.tabs_link_1: actif text-decoration: underline; couleur: # 0073ea; poids de police: gras; a.tabs_link_1: survolez text-decoration: underline; couleur: # ff0084; poids de police: gras; #tabs .tabs_img float: left; couleur de fond: #ddd; rembourrage: 8px; marge: 0px 12px 0px 0px;
Ouvrir style-1.css
et enregistrez-le sous style-2.css
. Changer l'image de fond du corps de bokeh_2.jpg
à bokeh_4.jpg
. Changement images_26 / css-style-sheet-switcher_7.jpg
à main_image_4.jpg
.
Utilisation style-1.css
ou style-2.css
créer une 3ème feuille de style style-3.css
. Changer l'image de fond du corps en bokeh_3.jpg
et l'image principale à main_image_5.jpg
Créer une 4ème feuille de style style-4.css
. Changer l'image de fond du corps en bokeh_1.jpg
et l'image principale à main_image_8.jpg
Pour les étapes 2 à 4, n'hésitez pas à modifier d'autres éléments tels que les couleurs de police et les bordures de l'image. Au lieu d'utiliser les images fournies dans les fichiers source, vous pouvez utiliser vos propres images pour créer des styles CSS personnalisés..
Pour montrer comment le script PHP modifie simultanément plusieurs feuilles de style, les thèmes jQuery Themeroller sont utilisés pour styliser la zone de contenu à onglets de la page Web..
Allez sur la page de téléchargement de l'interface utilisateur jQuery et téléchargez les thèmes "Flick" et "Démarrer".
Ensuite, allez sur le site officiel de jQuery et téléchargez jQuery.
Créez un fichier PHP contenant le code suivant:
Commutateur de feuilles de style CSS basé sur le temps simple Changements de l'image principale aux heures définies dans PHP Script (Australie / Melbourne).
- À propos d'Envato
- Marchés
- Tuts + Réseau
Envato est une startup basée en Australie, qui compte des personnes du monde entier et des sites servant des pages à la seconde. Nous avons commencé dans un salon en 2006 et nous travaillons sans relâche pour faire de notre société un concurrent de classe mondiale. Notre arrière-plan est créatif, nous aimons l'open source, nous pensons que travailler ne consiste pas uniquement à gagner de l'argent, et nous sommes totalement déterminés à créer des produits exceptionnels.!
Visitez le site Web d'Envato
Les marchés Envato permettent à quiconque d'acheter ou de vendre des produits numériques tels que des thèmes WordPress, une musique de fond, des fichiers de projet After Effects, des modèles Flash, etc. Les marchés accueillent une communauté florissante de plus de 500 000 utilisateurs, auteurs et acheteurs, et chaque jour des centaines de nouveaux fichiers sont ajoutés..
Visitez le marché à thème
Chez Envato, nous sommes très passionnés par l'éducation. C'est pourquoi nous avons créé l'un des réseaux de blogs éducatifs les plus populaires. Tuts + propose plus de 18 millions de pages vues par mois sur ses nombreux sous-sites consacrés aux graphiques, au développement Web, à la production audio, au développement pour iPhone et aux graphiques animés..
Visitez Tuts + Hub
Créez un fichier PHP contenant le code suivant:
'; elseif (07 <= $time && $time < 12) // 7:00am to 12:00pm Morning echo ''; elseif (12 <= $time && $time < 18) // 12:00pm to 6:00pm Afternoon echo ''; else // toutes les autres heures Evening echo ''; ?>
rel = "stylesheet"
Liens Le script de la feuille de style CSS Switcher sera contenu dans un fichier include PHP appelé stylesheets.php
.
Un PHP comprendre()
instruction inclut et évalue un fichier spécifié. le stylesheets.php
Le fichier include est référencé par ce code:
Parce que nous utilisons un script PHP pour modifier les feuilles de style CSS à des heures précises, les liens rel = "stylesheet" seront générés par le script PHP..
Nous devons nous assurer que la page Web fait référence aux bibliothèques d’interface utilisateur jQuery et jQuery..
Entre les balises de tête de la page Web, le code suivant a été ajouté:
Ce didacticiel comprend les onglets de l'interface utilisateur jQuery utilisant la fonctionnalité par défaut. Le code suivant initialise les onglets:
les balises pour Wrapper et Content Container 1 sont indiquées dans le bloc Code pour le balisage des onglets de l'interface utilisateur jQuery)(Fin
La plupart des widgets jQuery UI sont programmés pour s’étendre sur 100% de la largeur de la zone de contenu où ils sont placés..
Le conteneur div
content_container_1
a été défini sur une largeur fixe de 650 px dans le CSS afin que la zone de contenu à onglets ne déploie pas toute la largeur de l'écran.Marquage de l'image principale
Pour que l'image principale puisse également être modifiée à des heures définies à l'aide du script PHP, elle devait être incluse sur la page Web en tant qu'image d'arrière-plan CSS..
Donc, au lieu d’ajouter l’image à la page Web en utilisant un balisage comme ceci:
Il a été ajouté à la page Web en tant qu'image d'arrière-plan CSS d'un
avec la classe "main_image", comme ceci:L'image principale change aux heures indiquées.
Balisage pour les onglets de l'interface utilisateur jQuery
Le balisage ci-dessous ajoute la zone de contenu à onglets optimisée par l'interface utilisateur de jQuery et conçue avec les thèmes jQuery Themeroller..
- À propos d'Envato
- Marchés
- Tuts + Réseau
Envato est une startup basée en Australie, qui compte des personnes du monde entier et des sites servant des pages à la seconde. Nous avons commencé dans un salon en 2006 et nous travaillons sans relâche pour faire de notre société un concurrent de classe mondiale. Notre arrière-plan est créatif, nous aimons l'open source, nous pensons que travailler ne consiste pas uniquement à gagner de l'argent, et nous sommes totalement déterminés à créer des produits exceptionnels.!
Visitez le site Web d'Envato
Les marchés Envato permettent à quiconque d'acheter ou de vendre des produits numériques tels que des thèmes WordPress, une musique de fond, des fichiers de projet After Effects, des modèles Flash, etc. Les marchés accueillent une communauté florissante de plus de 500 000 utilisateurs, auteurs et acheteurs, et chaque jour des centaines de nouveaux fichiers sont ajoutés..
Visitez le marché à thème
Chez Envato, nous sommes très passionnés par l'éducation. C'est pourquoi nous avons créé l'un des réseaux de blogs éducatifs les plus populaires. Tuts + propose plus de 18 millions de pages vues par mois sur ses nombreux sous-sites consacrés aux graphiques, au développement Web, à la production audio, au développement pour iPhone et aux graphiques animés..
Visitez Tuts + Hub
Les "Onglets" du menu sont générés par une liste non ordonnée. Les sections de contenu sont générées par
Par exemple:
correspond avec
Répartition du code de changement de feuille de style PHP
Définir le fuseau horaire par défaut:
date_default_timezone_set ("Australie / Melbourne"); // Définir le fuseau horaire par défautLe code date_default_timezone_set définit le fuseau horaire par défaut utilisé par toutes les fonctions de date / heure dans un script..
Si le script n'inclut pas date_default_timezone_set, l'heure du serveur d'hébergement Web sera utilisée pour toutes les fonctions de date / heure du script..
Veuillez vous reporter à la liste des fuseaux horaires pris en charge pour trouver le fuseau horaire correspondant à votre emplacement..
Les nouvelles versions de PHP intègrent "Heure avancée" dans les fonctionnalités de
date_default_timezone_set
. Certaines versions plus anciennes de PHP ne prennent pas en compte "Heure avancée".Définir l'heure au format 24 heures:
$ time = date ("H"); // Définir l'heure au format 24 heuresdate ("H") formate l'heure locale / la date au format d'une heure sur 24 heures, avec les zéros non significatifs. Cliquez ici pour afficher des informations sur l'horloge 24 heures.
Ventilation de la déclaration If, Elseif, Else
J'ai décomposé le reste du code PHP pour montrer comment le script PHP fonctionnera ligne par ligne. Plusieurs fonctions sont utilisées dans le code, notamment:
- Si, sinon, autre déclaration.
- Écho
- Opérateurs de comparaison
- Opérateurs logiques
si
si (00 <= $time && $time < 07) // 12:00am to 7:00am Night echo '';Si 00 (minuit) est Inférieur ou égal à heure actuelle ET l'heure actuelle est Moins à partir de 07h00 ensuite le script va s'appliquer
style-1.css
etfeuilleter
Feuilles de style CSS.sinon
elseif (07 <= $time && $time < 12) // 7:00am to 12:00pm Morning echo '';Si 07 (07:00) est Inférieur ou égal à heure actuelle ET l'heure actuelle est Moins à partir de 12h00 ensuite le script va s'appliquer
style-2.css
etdébut
Feuilles de style CSS.sinon
elseif (12 <= $time && $time < 18) // 12:00pm to 6:00pm Afternoon echo '';Si 12 (12:00) est Inférieur ou égal à heure actuelle ET l'heure actuelle est de moins de 18 heures (18:00) ensuite le script va s'appliquer
style-3.css
etdébut
Feuilles de style CSS.autre
else // toutes les autres heures Evening echo '';Si AUCUN des conditions sont remplies dans les déclarations "if ... elseif", ensuite le script va s'appliquer
style-4.css
etfeuilleter
Feuilles de style CSS.
Conclusion
Avec CSS, vous pouvez créer de nombreux styles différents pour vos pages Web. En utilisant PHP, vous pouvez appliquer ces styles de manière dynamique à votre site Web. Ajoutez une petite interface utilisateur jQuery et vos pages Web seront non seulement amusantes à créer, mais amusantes aussi pour vos visiteurs.!
Si vous avez des questions sur ce tutoriel, posez-les ci-dessous, merci beaucoup de votre lecture!