Maison >développement back-end >tutoriel php >Préfixeur et compresseur CSS3 automatique
<span>_border-radius: 10px;</span>Le code générera une liste complète de propriétés comme celle-ci:
<span>-o-border-radius: 10px; </span><span>-moz-border-radius: 10px; </span><span>-webkit-border-radius: 10px; </span><span>border-radius: 10px;</span>Ensuite, dans le HTML, un lien est écrit comme celui-ci pour importer les styles:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="css/css.php?f=css_file1|css_file2|css_file3"</span>></span></span>Avec l'élément de liaison unique, trois fichiers CSS seront chargés comme un. Le script CSS.PHP se lira dans les fichiers répertoriés (CSS_FILE1.CSS, CSS_FILE2.CSS et CSS_FILE3.CSS), les combinez et les renvoie sous forme de fichier. Il a l'air assez facile à utiliser, non? Donc, sans plus ADO, commençons à écrire du code!
<?php $files = explode("|", $_GET["f"]); $contents = ""; foreach ($files as $file) { $contents .= file_get_contents($file . ".css"); } preg_match_all('/_[a-zA-Z-]+:s.+;|[a-zA-Z-]+:s_[a-zA-Z].+;/', $contents, $matches, PREG_PATTERN_ORDER); $prefixes = array("-o-", "-moz-", "-webkit-", ""); foreach ($matches[0] as $property) { $result = ""; foreach ($prefixes as $prefix) { $result .= str_replace("_", $prefix, $property); } $contents = str_replace($property, $result, $contents); } $contents = preg_replace('/(/*).*?(*/)/s', '', $contents); $contents = preg_replace(array('/s+([^w'"]+)s+/', '/([^w'"])s+/'), '', $contents); header("Content-Type: text/css"); header("Expires: " . gmdate('D, d M Y H:i:s GMT', time() + 3600)); echo $contents;Le code reçoit d'abord la liste des fichiers CSS à traiter sous forme de chaîne à partir du paramètre URL (accessible en php comme $ _get ["f"]). Chaque fichier est séparé avec un caractéristique de tuyau. La fonction Explose () divise la chaîne sur les tuyaux renvoyant un tableau de noms de fichiers. La fonction file_get_contents () Obtient le contenu de chaque fichier qui est annexé, un par un, au contenu de la variable. Une fois que le contenu des fichiers CSS a été récupéré, l'étape suivante consiste à trouver toutes les propriétés CSS qui commencent par un soulignement et à les remplacer par les propriétés préfixées spécifiques au navigateur. La fonction preg_match_all () trouve toutes les pièces du texte qui correspondent à l'expression régulière et place les correspondances en $ correspondant [0] en tant que tableau. Je n'expliquerai pas pourquoi $ Matches a l'index de tableau 0 car vous pouvez lire une explication claire sur la fonction du manuel PHP. Je voudrais plutôt me concentrer sur l'explication du flux de notre programme. Cette image explique le modèle de l'expression régulière:
<span>_border-radius: 10px;</span>Le deuxième fichier est central.css:
<span>-o-border-radius: 10px; </span><span>-moz-border-radius: 10px; </span><span>-webkit-border-radius: 10px; </span><span>border-radius: 10px;</span>Le troisième fichier est Footer.css:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="css/css.php?f=css_file1|css_file2|css_file3"</span>></span></span>Regardez comment les propriétés CSS3 ont été écrites; Ceux qui auraient un préfixe spécifique au navigateur ne sont donnés qu'une seule fois et ont un soulignement devant eux. Ensuite, créez le fichier index.html qui utilisera les styles.
<?php $files = explode("|", $_GET["f"]); $contents = ""; foreach ($files as $file) { $contents .= file_get_contents($file . ".css"); } preg_match_all('/_[a-zA-Z-]+:s.+;|[a-zA-Z-]+:s_[a-zA-Z].+;/', $contents, $matches, PREG_PATTERN_ORDER); $prefixes = array("-o-", "-moz-", "-webkit-", ""); foreach ($matches[0] as $property) { $result = ""; foreach ($prefixes as $prefix) { $result .= str_replace("_", $prefix, $property); } $contents = str_replace($property, $result, $contents); } $contents = preg_replace('/(/*).*?(*/)/s', '', $contents); $contents = preg_replace(array('/s+([^w'"]+)s+/', '/([^w'"])s+/'), '', $contents); header("Content-Type: text/css"); header("Expires: " . gmdate('D, d M Y H:i:s GMT', time() + 3600)); echo $contents;Regardez l'attribut HREF dans la balise de liaison. Chaque nom de fichier CSS est séparé par un tuyau.
Un préfixeur et compresseur CSS3 est un outil qui aide à optimiser les fichiers CSS pour de meilleures performances et compatibilité. Il ajoute automatiquement les préfixes des fournisseurs aux propriétés CSS pour s'assurer qu'ils fonctionnent sur différents navigateurs. La fonction du compresseur réduit la taille des fichiers CSS en éliminant les caractères inutiles, améliorant ainsi la vitesse de chargement de votre site Web.
Pourquoi dois-je utiliser un préfixateur CSS3 et un compresseur? Il garantit que vos propriétés CSS fonctionnent sur différents navigateurs et réduisent la taille de vos fichiers CSS, améliorant ainsi la vitesse de chargement de votre site Web. Cela vous évite également le temps et l'effort d'ajouter manuellement les préfixes des fournisseurs et de compresser vos fichiers CSS.
Bien qu'un préfixeur et compresseur CSS3 offre de nombreux avantages, il est important de noter qu'il n'est pas toujours nécessaire. Certains navigateurs modernes ne nécessitent plus de préfixes de fournisseurs pour certaines propriétés CSS. De plus, la surexpression de vos fichiers CSS peut les rendre difficiles à lire et à maintenir.
Pour utiliser un préfixateur et un compresseur CSS3, vous devez simplement saisir vos fichiers CSS dans l'outil. Il ajoutera ensuite automatiquement les préfixes du fournisseur nécessaire et compressera vos fichiers. Certains outils offrent également des fonctionnalités supplémentaires telles que la minification et l'optimisation.
Oui, vous pouvez utiliser un préfixe et compresseur CSS3 avec d'autres préprocesseurs CSS comme Sass ou moins. L'outil ajoutera simplement les préfixes du fournisseur nécessaire et compressera les fichiers CSS sortis.
Il existe de nombreux bons outils de préfixer CSS3 et de compresseur disponibles, y compris l'autoprefixeur, le PostCSS et le disque CSS. Ces outils offrent une gamme de fonctionnalités et peuvent être utilisés avec divers préprocesseurs CSS.
Lors du choix d'un outil de préfixateur CSS3 et de compresseur, considérez des facteurs comme la facilité d'utilisation, la compatibilité avec votre préfixateur CSSS et la gamme des fonctionnalités offertes. Vous devriez également considérer les performances et la fiabilité de l'outil.
Oui, vous pouvez utiliser un préfixateur et un compresseur CSS3 pour les grands fichiers CSS. Cependant, gardez à l'esprit que le temps de traitement peut être plus long pour les fichiers plus grands.
Si vous devez ou non utiliser un préfixeur et un compresseur CSS3 pour chaque projet dépend des exigences spécifiques du projet. Si la compatibilité et les performances du navigateur sont des considérations importantes, l'utilisation d'un préfixeur et d'un compresseur CSS3 peut être bénéfique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!