2015-04-03 1 views
0

Je tente d'insérer un logo personnalisé pour une application de cartographie ArcGIS. L'application est livrée avec un moyen original de télécharger un petit logo qui est entièrement contenu dans l'en-tête. Cependant, je voulais insérer un logo plus grand qui «recouvre» l'en-tête.ArcGIS JavaScript Custom Logo

J'ai réussi à faire en sorte que cela fonctionne, en partie, en utilisant les commandes de positionnement absolu et d'index z pour placer l'image devant l'en-tête. Cependant, une fois que j'ai fait cela, le titre qui se trouvait au centre de l'en-tête s'est déplacé à l'extrême gauche et les boutons d'analyse sur la droite ont disparu.

Le téléchargement de modèle Web AppBuilder contient plusieurs fichiers html, .js, .json et .css. J'ai utilisé le fichier index.html pour placer le logo.

Des réflexions sur les raisons du déplacement du titre vers la gauche et les boutons de l'outil d'analyse ont-ils disparu de l'en-tête une fois que j'ai inséré un logo dans le fichier .html? Dois-je avoir inséré le logo dans un autre fichier?

Merci.

Exemple de code à partir du fichier index.html:

 <!--[if IE 8]> 
<link rel="stylesheet" type="text/css" href="jimu.js/css/jimu-ie.css" /> 
<![endif]--> 
    <style type="text/css"> 
    img { 
     position: absolute; 
     left: 0px; 
     top: 0px; 
     z-index: 3; 
     } 
    *{box-sizing: border-box;} 
     body,html { 
      width:100%; 
      height:100%; 
      margin:0; 
      padding:0; 
      overflow:hidden; 
     } 
     #main-loading{ 
      width: 100%; 
      height: 100%; 
      background-color: #2E3F60; 
      text-align: center; 
      overflow: hidden; 
     } 
     #main-loading #app-loading, #main-loading #ie-note{ 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    margin: auto; 
    } 
    #main-loading #app-loading{ 
    width: 100%; 
    height: 100px; 
    } 
    #main-loading .app-name{ 
    font: 36px arial; 
    font-weight: bold; 
    position: absolute; 
    z-index: 2; 
    } 
     #main-loading img{ 
      position: relative; 
      display: block; 
      margin: auto; 
     } 
     #main-loading .loading-info{ 
      font: 14px 'arial'; 
      margin-top: 50px; 
      overflow: hidden; 
      position: relative; 
     } 
     #main-loading .loading-info .loading{ 
      width: 260px; 
      height: 4px; 
      border-radius: 2px; 
      background-color: #15203B; 
      margin: auto; 
     } 
     #main-loading .loading-info .loading-progress{ 
      height: 4px; 
      border-radius: 2px; 
      background-color: #ABB2BF; 
     } 
     #main-loading #ie-note { 
    width: 586px; 
    height: 253px; 
    background-image: url('images/notes.png'); 
    padding: 0 30px 40px 30px; 
    font-size: 14px; 
    color: #596679; 
    } 
    #ie-note .hint-title{ 
    height: 40px; 
    line-height: 48px; 
    text-align: left; 
    font-weight: bold; 
    } 
    #ie-note .hint-img{ 
    background-image: url('images/hint.png'); 
    background-position: left; 
    padding-left: 40px; 
    margin-top: 20px; 
    background-repeat: no-repeat; 
    height: 30px; 
    text-align: left; 
    line-height: 30px; 
    font-weight: bold; 
    } 
    #ie-note span{ 
    display: block; 
    line-height: 14px; 
    } 
     #main-page{ 
      display: none; 
      width: 100%; 
      height: 100%; 
      position: relative; 
     } 

     #jimu-layout-manager{ 
      width: 100%; 
      height: 100%; 
      position: absolute; 
     } 
    </style> 

Répondre

0

C'est parce que vous avez utilisé le positionnement absolu, et maintenant il n'y a rien à « pousser » le texte à droite. Il suffit de mettre la bonne marge sur l'élément de texte du titre et vous êtes prêt à partir.

Voir ceci:

img {height: 60px;} 
 
span {height: 60px;display: inline-block;} 
 
#p {position:absolute;} 
 
#o {margin-left: 30px;}
<img src="http://www.mariogame.info/images/icon-facebook.png" id="p" /><span>Absolutely positioned</span> 
 
<hr /> 
 
<img src="http://www.mariogame.info/images/icon-facebook.png" /><span>Normally positioned</span> 
 
<hr /> 
 
<img src="http://www.mariogame.info/images/icon-facebook.png" /><span id="o">Absolutely positioned - text offset</span>

+0

Cela a fonctionné pour le texte. J'ai été capable de localiser l'élément title dans le fichier config.json et de définir la marge après le logo nouvellement inséré. Cependant, les widgets/boutons d'outils d'analyse sont toujours manquants initialement sur le côté droit de la page. Il y a peut-être un conteneur pour les widgets, mais je ne l'ai pas encore localisé. Y at-il une autre commande que je peux utiliser pour insérer le logo qui ne serait pas en désordre avec l'en-tête entier? – jafarr

+0

Je ne suis pas sûr de pouvoir vous aider avec cela sans le voir ... Êtes-vous sûr de ne pas avoir modifié certains CSS utilisés par ces widgets? – Shomz

+0

J'ai modifié CSS que les widgets utilisent, mais c'était seulement à des fins d'information une fois le widget a été sélectionné. Je peux supprimer le logo personnalisé ou même le mettre sur «relatif» et les widgets réapparaîtront intacts. S'il est défini sur relatif, le logo est en haut de la page et l'application est enfoncée en dessous. Y at-il de toute façon que je puisse partager une partie du code avec vous? Nouveau sur le site et au développement web. – jafarr