方法一:
首先判断浏览器是否支持placeholder属性,如果不支持的话,就遍历所有input输入框,获取placeholder属性的值填充进输入框作为提示信息,同时字体设置成灰色。

当输入框获得焦点( focus )同时输入框内文字等于设置的提示信息时,就把输入框内清空;

当输入框失去焦点( blur )同时输入框内文字为空时,再把获取的placeholder属性的值填充
进输入框作为提示信息,同时字体设置成灰色;

当输入框内有输入( keydown )时,此时输入框内的提示信息已经由focus事件清除,此时只需要把字体再恢复成黑色即可

此方法的缺点是,不适用于加载完DOM时即获得焦点的输入框,因为在用户的角度,加载完页面时看到的获得焦点的那个输入框,它的提示文字是看不到的。
HTML:<input type="text" id="uname" name="uname" placeholder="请输入用户名"/>CSS:.phcolor{ color:#999;}JS$(function(){  
  //判断浏览器是否支持placeholder属性  supportPlaceholder=&#39;placeholder&#39;in document.createElement(&#39;input&#39;),
  placeholder=function(input){
    var text = input.attr(&#39;placeholder&#39;),
    defaultValue = input.defaultValue;
    if(!defaultValue){
      input.val(text).addClass("phcolor");
    }
    input.focus(function(){
      if(input.val() == text){
        $(this).val("");
      }
    });
    input.blur(function(){
      if(input.val() == ""){
        $(this).val(text).addClass("phcolor");
      }
    });
    //输入的字符不为灰色    input.keydown(function(){
      $(this).removeClass("phcolor");
    });
  };
  //当浏览器不支持placeholder属性时,调用placeholder函数  if(!supportPlaceholder){
    $(&#39;input&#39;).each(function(){
      text = $(this).attr("placeholder");
      if($(this).attr("type") == "text"){
        placeholder($(this));
      }
    });
  }});
Copier après la connexion
方法二:
此方法的思路是做一张含有提示文字的图片作为input输入框的背景图,初始时获得焦点同时加载背景图;
当输入框不为空时,去掉背景图;
当输入框为空时,加载背景图;
当用户键盘按键且输入框不为空( 输入字符 )时,去掉背景图;
当用户键盘按键且输入框为空( 删除字符 )时,加载背景图。
此方法的缺点是:需要为每一个提示文字不同的input制作背景图片,并且设置input的样式。
CSS:.phbg{ background:url(img/bg.jpg) 0 0 no-repeat;}JS$(function(){  
   //判断浏览器是否支持placeholder属性   supportPlaceholder=&#39;placeholder&#39; in document.createElement(&#39;input&#39;);
   if(!supportPlaceholder){
     //初始状态添加背景图片     $("#uname").attr("class","phbg");
     //初始状态获得焦点     $("#uname").focus;
     function destyle(){
      if($("#uname").val() != ""){
        $("#uname").removeClass("phbg");
      }else{
        $("#uname").attr("class","phbg");
       }
     }
     //当输入框为空时,添加背景图片;有值时去掉背景图片     destyle();
     $("#uname").keyup(function(){
      //当输入框有按键输入同时输入框不为空时,去掉背景图片;有按键输入同时为空时(删除字符),添加背景图片      destyle();
     });
     $("#uname").keydown(function(){
      //keydown事件可以在按键按下的第一时间去掉背景图片      $("#uname").removeClass("phbg");
     });
   }});
Copier après la connexion
方法三:
使用插件:Placeholders.js

17.常见兼容性问题?

* png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.也可以引用一段脚本处理。

* 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。

* IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。

* 浮动ie产生的双倍距离(IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。) #box{ float:left; width:10px; margin:0 0 0 100px;} 这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)

* 渐进识别的方式,从总体中逐渐排除局部。 首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。 接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
css// .bb{ background-color:#f1ee18; .background-color:#00deff\9; +background-color:#a200ff; _background-color:#1e0bd1; }

* IE下,可以使用获取常规属性的方法来获取自定义属性, 也可以使用getAttribute()获取自定义属性; Firefox下,只能使用getAttribute()获取自定义属性. 解决方法:统一通过getAttribute()获取自定义属性。

* IE下,event对象有x,y属性,但是没有pageX,pageY属性; Firefox下,event对象有pageX,pageY属性,但是没有x,y属性. * 解决方法:(条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。

* Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决。

* 超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序: L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

* 怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发怪异模式。为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯。现在可以使用[html5](w3.org/TR/html5/single-)推荐的写法:``

* 上下margin重合问题
ie和ff都存在,相邻的两个p的margin-left和margin-right不会重合,但是margin-top和margin-bottom却会发生重合。
解决方法,养成良好的代码编写习惯,同时采用margin-top或者同时采用margin-bottom。

* ie6对png图片格式支持不好(引用一段脚本处理)

18.简述前端优化的方式 旧的雅虎34条|h5新添加的方式

1. Minimisez le nombre de requêtes HTTP
2. Réduisez le nombre de recherches DNS
3 Évitez les sauts
4. AJAX mis en cache
5. Préparation du chargement
7. Réduisez le nombre d'éléments DOM
8. Divisez le contenu de la page en fonction du nom de domaine
9. Réduisez le nombre d'iframes
Ne pas avoir d'erreurs 404
11. . Utilisez le réseau de distribution de contenu
12. Spécifiez Expires ou Cache-Control pour l'en-tête du fichier 13. Gzip compresse le contenu du fichier
14. Configurez ETag
15. Actualisez le tampon de sortie le plus tôt possible
16. . Utilisez GET pour compléter les requêtes AJAX
17. Mettez la feuille de style en haut
18. Évitez d'utiliser des expressions CSS (Expression)
19. Utilisez du JavaScript et du CSS externes
20. et CSS
21. Utilisez au lieu de @ import
22. Évitez d'utiliser des filtres
23. Placez les scripts en bas de la page
24. >
Version 19.jquery ? Compatible 1.11 ?

La série Query 2.x a la même API que jQuery 1.x, mais ne prend plus en charge IE6, 7 et 8. Il est recommandé d'utiliser la version 1.x sauf si vous êtes sûr que les utilisateurs IE6, 7 et 8 n'accéderont plus au site Web.

jquery1.11 est la version 1.x, qui est compatible avec IE6, 7 et 8, il prend donc également en charge IE9.


Niveau de bloc 20 ? Au sein de l’industrie ? Éléments vides ?

Éléments en ligne : tous les autres éléments sont sur la même ligne. La hauteur, la hauteur de la ligne, les marges extérieures et les marges intérieures ne peuvent pas être modifiées et peuvent être modifiées. n'accepte que du texte. Ou d'autres éléments en ligne Éléments au niveau du bloc : commencez toujours sur une nouvelle ligne, la hauteur, la hauteur de la ligne, les marges et le remplissage peuvent être contrôlés, peut accueillir des éléments en ligne et d'autres éléments

vides : dans Éléments HTML, les éléments HTML sans contenu sont appelés éléments vides. Les éléments vides sont fermés dans la balise d'ouverture.
est un élément vide sans balise de fermeture.


Attribut 21.media ? écran? Tous? L'attribut max-width?min-width?

media spécifie l'appareil sur lequel le document lié sera affiché. L'attribut media est utilisé pour spécifier différents styles pour différents types de médias. Screen est l'écran par défaut de l'ordinateur, all est applicable à tous les appareils, max-width ne sera pas exécuté s'il dépasse la largeur maximale et min-width doit être supérieur à la largeur minimale avant l'exécution.

22. Quelle est la valeur de l'attribut name de la balise méta ? L'attribut

name est principalement utilisé pour décrire les pages Web, et la valeur de l'attribut correspondante est le contenu. Le contenu du contenu est principalement utilisé par les robots des moteurs de recherche pour trouver des informations et classer les informations. Le format de syntaxe de l'attribut name de la balise méta est : .

L'attribut name a principalement les paramètres suivants :
A. Description des mots-clés (keywords) : les mots-clés sont utilisés pour indiquer aux moteurs de recherche quels sont les mots-clés de votre page Web.
B, description (description du contenu du site Web) Description : la description est utilisée pour indiquer aux moteurs de recherche le contenu principal de votre site Web.
C, description des robots (guide du robot) : les robots sont utilisés pour indiquer aux robots de recherche quelles pages doivent être consultées. être indexé et quelles pages Aucun index n'est requis.
Les paramètres de contenu incluent all, none, index, noindex, follow, nofollow, et la valeur par défaut est all.
Exemple : <meta name="robots" content="none">D, author(author)


Combien de façons existe-t-il de couper des images sur des pages mobiles ?

Mise en page réactive, affichage de mise en page flexible : flex, utilisez js pour écrire et définir la proportion, définissez les pixels pour l'élément racine et utilisez rem comme unité.

24. Quelle est la différence entre px/em/rem ? Pourquoi la taille de la police est-elle généralement définie sur 62,5 % ?

La taille de la police par rapport au texte de l'objet actuel. Si la taille de police actuelle du texte en ligne n'a pas été définie manuellement, elle sera relative à la taille de police par défaut du navigateur. 1. La valeur de em n'est pas fixe ;

2. em héritera de la taille de police de l'élément parent. Lorsque vous utilisez rem pour définir la taille de la police d'un élément, il s'agit toujours d'une taille relative, mais elle est uniquement relative à l'élément racine HTML. On peut dire que cette unité combine les avantages de la taille relative et de la taille absolue. Grâce à elle, vous pouvez ajuster toutes les tailles de police proportionnellement en modifiant uniquement l'élément racine, et vous pouvez éviter la réaction en chaîne consistant à composer les tailles de police couche par couche.
rem est mis à l'échelle par rapport au navigateur. La valeur par défaut de 1rem est 16px. Dans une mise en page réactive, il est trop difficile de convertir un par un en rem, alors réinitialisez rem
body{font-size=62.5% } à ce moment-là 1rem = 10px ; , c'est 1.2rem .


25. Quelle est la différence entre sass et scss ? Comment sass est-il généralement compilé

Les extensions de fichier sont différentes. ".sass" comme extension. et SCSS utilise le suffixe ".scss" comme extension ; la syntaxe est écrite différemment avec des règles de syntaxe indentées strictes, sans accolades ({}) ni points-virgules (;). tandis que l'écriture syntaxique de SCSS est très similaire à notre écriture syntaxique CSS.

26. Que faire si le CSS est optimisé ?

Compresser et empaqueter, intégrer des images, éviter d'utiliser des Hacks, résoudre les problèmes de compatibilité, utiliser des abréviations pour assurer la maintenance future du CSS.

27. Comment compresser et fusionner des fichiers CSS ?

Utilisez gulp, installez gulp globalement sur la page d'accueil.
1. npm install --global gulp
2. Deuxièmement, installez gulp localement. npm install gulp --save-dev
3. Créez un fichier nommé gulpfile.js dans le répertoire racine du projet
var gulp = require('gulp');
gulp.task('default' , function () {
//Mettez votre code de tâche par défaut ici});
4. (La tâche par défaut nommée default sera exécutée. Si vous souhaitez exécuter une tâche spécifique séparément, veuillez saisir gulp )
gulp
Fusionner et compresser JS, fichiers CSS
compresser Les fichiers JS, CSS doivent référencer les composants suivants :
gulp-minify-css : compresser css

28. Programmation modulaire ?

Programmation de composants : regroupez js css html pour fournir des méthodes et des effets ;
Modularisation : extrayez les mêmes fonctions et stockez-les au même endroit pour la programmation

29 . Afficher les images et le texte sur la même ligne ?

1 Ajoutez l'attribut "vertical-align:middle" à p en CSS.
2 Placez respectivement l'image et le texte dans des p différents, puis utilisez l'attribut "margin" pour les positionner afin qu'ils puissent être affichés sur la même ligne.
3 Définissez l'image comme image d'arrière-plan.

30. Désactiver le bouillonnement d'événement

event.stopPropagation()

31. >event.preventDefault()

32. Quelle est la séquence de configuration correcte pour le lien de survol actif visité dans la balise a

, visité, survolé, actif ? a un certain ordre a:link

a:visited
a:hover
a:active


33 Comment désactiver la page de saut href dans une balise Ou localiser le lien

e.preventDefault();href="javascript:void(0);


34. Clics à long terme sur les images sur les téléphones mobiles provoquera Comment gérer les images sélectionnées ?

onselect=function() {return false

}


Plusieurs méthodes d'attribut de balise vidéo
>

35. 🎜>

src : URL de l'affiche vidéo : couverture vidéo, image affichée en l'absence de lecture préchargement : préchargement de la lecture automatique : boucle de lecture automatique : commandes de lecture en boucle : largeur de la barre de contrôle du navigateur : largeur de la vidéo hauteur : hauteur de la vidéo

36. Combien de formats d'encodage vidéo courants existe-t-il ? Combien de formats vidéo existe-t-il ?

Formats vidéo : MPEG-1, MPEG-2 et MPEG4, AVI, Formats RM, ASF et WMV
Formats d'encodage vidéo : H.264, MPEG-4, MPEG-2, WMA-HD et VC-1

37.canvas sur l'étiquette Quel est le différence entre définir la largeur et la hauteur dans le style ?

La largeur et la hauteur de la balise de toile sont la largeur et la hauteur réelles de la toile, et la largeur et la hauteur du style sont basées sur cela . height est la hauteur et la largeur du canevas lorsqu'il est rendu dans le navigateur. Si la largeur et la hauteur du canevas ne sont pas spécifiées ou si les valeurs sont incorrectes, elles sont définies sur les valeurs par défaut. >
38.border box? -sizing?

Border-image : Bordure graphique

Box-sizing : La propriété vous permet de définir des éléments spécifiques qui correspondent à une certaine zone d'une manière spécifique .
Syntaxe : box-sizing : content-box | border-box
Content-box : le remplissage et la bordure ne sont pas inclus dans la largeur et la hauteur définies. La largeur réelle de l'objet est égale à la somme de la valeur de largeur définie, de la bordure et du remplissage, c'est-à-dire (Largeur de l'élément = largeur + bordure + remplissage) Cet attribut se comporte comme un modèle de boîte en mode standard
Bordure-. box : le rembourrage et la bordure sont inclus dans la largeur et la hauteur définies. La largeur réelle de l'objet est égale à la valeur de largeur définie. Même si la bordure et le remplissage sont définis, la largeur réelle de l'objet ne sera pas modifiée, c'est-à-dire (Largeur de l'élément = largeur). mode bizarre.

39. Amélioration progressive et dégradation gracieuse

Amélioration progressive : créez des pages pour les navigateurs de version basse afin de garantir les fonctions les plus basiques, puis améliorez les effets, les interactions et ajoutez des fonctions supplémentaires pour les navigateurs avancés afin d'obtenir une meilleure expérience utilisateur.
Dégradation gracieuse : créez des fonctionnalités complètes depuis le début, puis rendez-les compatibles avec les versions inférieures des navigateurs.
Différence : la dégradation gracieuse part du statu quo complexe et tente de réduire l'offre d'expérience utilisateur, tandis que l'amélioration progressive part d'une version très basique et fonctionnelle et l'étend continuellement pour s'adapter aux besoins de l'environnement futur.
La dégradation (décroissance fonctionnelle) signifie regarder en arrière ; l'amélioration progressive signifie regarder vers l'avant tout en gardant ses racines dans une zone de sécurité.
Le point de vue de la « dégradation gracieuse »
Le point de vue de la « dégradation gracieuse » estime que les sites Web doivent être conçus pour les navigateurs les plus avancés et les plus complets. Organisez les tests des navigateurs considérés comme « obsolètes » ou dont les fonctions manquent à la dernière étape du cycle de développement, et limitez les objets de test à la version précédente des navigateurs grand public (tels que IE, Mozilla, etc.).
Dans ce paradigme de conception, les anciens navigateurs sont considérés comme n'offrant qu'une expérience de navigation « médiocre, mais passable ». Vous pouvez effectuer quelques petits ajustements en fonction d'un navigateur spécifique. Mais comme elles ne sont pas au centre de notre attention, les autres différences seront ignorées, à l'exception de la correction de bugs plus importants.
Le point de vue « Amélioration progressive »
Le point de vue « Amélioration progressive » estime qu'il convient de prêter attention au contenu lui-même.
Le contenu est la raison pour laquelle nous construisons des sites Web. Certains sites Web l'affichent, certains le collectent, certains le recherchent, certains l'exploitent et certains sites Web incluent même tout ce qui précède, mais la même chose est qu'ils impliquent tous du contenu. Cela fait de « l’amélioration progressive » un paradigme de conception plus raisonnable. C'est pourquoi il a été immédiatement adopté par Yahoo! et utilisé pour construire sa stratégie « Graded Browser Support ».
Puis la question vient. Maintenant que le chef de produit voit que les effets de page Web d'IE6, 7 et 8 sont beaucoup moins arrondis et d'ombres (CSS3) que les navigateurs modernes, et qu'ils nécessitent une compatibilité (utiliser des arrière-plans d'images et abandonner CSS3), comment allez-vous le convaincre ?

40. Expliquez le modèle de boîte étrange, le modèle de boîte étrange et le modèle de boîte flexible de c3 dans les versions inférieures d'IE

IE lorsque la valeur de padding+border ? est inférieur à la largeur Ou hauteur :
Largeur du modèle de boîte = marge (gauche et droite) + largeur (la largeur inclut déjà les valeurs de padding et border)
Hauteur du modèle de boîte = marge (haut et bas) + hauteur (la hauteur inclut déjà la valeur de remplissage et de bordure))
Lorsque la valeur de remplissage+bordure est supérieure à la largeur ou à la hauteur :
Largeur du modèle de boîte = marge (gauche et droite) + remplissage (gauche et à droite) + bordure (gauche et droite)
Hauteur du modèle de boîte = marge (haut et bas) )+padding(haut et bas)+bordure (haut et bas)+19px (plus une hauteur de ligne par défaut de 19px ) Cela équivaut donc à comparer padding+border avec la largeur ou la hauteur, selon la valeur la plus grande.
Les DOCTYPE ci-dessus sont tous des types de documents standard. Quel que soit le mode utilisé pour définir complètement le DOCTYPE, le mode standard sera déclenché si le DOCTYPE est manquant, le mode bizarre (mode bizarreries) sera déclenché dans ie6, ie7 et ie8 CSS3box -sizing a deux valeurs, l'une est content-box et l'autre est border-box.
Lorsqu'il est défini sur box-sizing:content-box, le mode standard sera utilisé pour l'analyse et le calcul, qui est également le mode par défaut
Lorsqu'il est défini sur box-sizing:border-box, le mode bizarre sera ; être utilisé pour l'analyse et le calcul ;
Le modèle flexbox CSS3 introduit un nouveau modèle de boîte - le modèle flexbox, qui détermine comment une boîte est distribuée parmi d'autres boîtes et comment gérer l'espace disponible. Grâce à ce modèle, vous pouvez facilement créer une mise en page fluide qui s'adapte à la fenêtre du navigateur ou une mise en page flexible qui s'adapte à la taille de la police.

41.Attributs correspondants de l'animation

Écriture : animation : nom durée synchronisation-fonction délai itération-compte direction
Ce qui suit est une introduction aux attributs correspondants ;
animation-name spécifie le nom de l'image clé qui doit être lié au sélecteur.
animation-duration spécifie le temps nécessaire pour terminer l'animation, en secondes ou millisecondes.
animation-timing-function spécifie la courbe de vitesse de l'animation.
animation-delay spécifie le délai avant le début de l'animation.
animation-iteration-count spécifie le nombre de fois que l'animation doit être jouée.
animation-direction précise si l'animation doit être jouée à l'envers à tour de rôle.

42.transition?

La transition CSS permet aux valeurs d'attribut CSS d'effectuer une transition en douceur dans un certain intervalle de temps. Cet effet peut être déclenché par un clic de souris, un focus, un clic ou toute modification apportée à l'élément, et modifie en douceur la valeur de la propriété CSS avec un effet d'animation. Notez la différence entre la transformation, qui effectue des transformations 2D telles que le mouvement, la mise à l'échelle, et inversion. Venez, faites pivoter et étirez les éléments.

43.h5 de nouvelles fonctionnalités ?

1、绘画的 canvas 元素
2、用于媒介回放的 video 和 audio 元素
3、对本地离线存储的更好的支持
4、新的特殊内容元素,比如 article、footer、header、nav、section 5、新的表单控件,比如 calendar、date、time、email、url、search

44.canvas 如何绘制一个三角形|正方形

moveto 是移动到某个坐标, lineto 是从当前坐标连线到某个坐标。
这两个函数加起来就是画一条直线。 画线要用“笔”,那么MoveTo()把笔要画的起始位置固定了(x,y)然后要固定终止位置要用到LineTo函数确定终止位置(xend,yend),这样一条线就画出来了。 每次与前面一个坐标相连 。
stroke() 方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色。
<!DOCTYPE HTML5><html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>画布</title>
  </head> <body>
     <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
     Your browser does not support the canvas element.     </canvas>
     <script type="text/javascript">
         var c=document.getElementById("myCanvas");//三角形         var cxt=c.getContext("2d");
         cxt.moveTo(10,10);
         cxt.lineTo(50,50);
         cxt.lineTo(10,50);
         cxt.lineTo(10,10);
         cxt.stroke();//正方形         var cxt2=c.getContext("2d");
         cxt2.moveTo(60,10);
         cxt2.lineTo(100,10);
         cxt2.lineTo(100,50);
         cxt2.lineTo(60,50);
         cxt2.lineTo(60,10);
         cxt2.stroke(); 
     </script></body></html>
Copier après la connexion

45.所用bootstap版本?

3.0

46.css清除浮动的几种方式?

1、父级p定义 height
2、结尾处加空p标签 clear:both
3、父级p定义 伪类:after 和 zoom
4、父级p定义 overflow:hidden
5、父级p定义 overflow:auto
6、父级p 也一起浮动
7、父级p定义 display:table

47.为什么要初始化CSS样式。

因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

48.CSS3有哪些新特性?

CSS3实现圆角(border-radius),阴影(box-shadow),
对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);
//旋转,缩放,定位,倾斜增加了更多的CSS选择器 多背景 rgba 在CSS3中唯一引入的伪元素是::selection.媒体查询,多栏布局 border-image

49.解释下 CSS sprites,以及你要如何在页面或网站中使用它。

CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。这样可以减少很多图片请求的开销,因为请求耗时比较长;请求虽然可以并发,但是也有限制,一般浏览器都是6个。对于未来而言,就不需要这样做了,因为有了`http2`。

50.什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?

FOUC - Flash Of Unstyled Content 文档样式闪烁

而引用CSS文件的@import就是造成这个问题的罪魁祸首。IE会先加载整个HTML文档的DOM,然后再去导入外部的CSS文件,因此,在页面DOM加载完成到CSS导入完成中间会有一段时间页面上的内容是没有样式的,这段时间的长短跟网速,电脑速度都有关系。
解决方法:只要在之间加入一个或者
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!