0
votes

HTML non lié à la feuille de style CSS externe

Cela devrait être simple.

Mon about.html a une feuille de style externe qui y est aboutstyle.css intitulée aboutstyle.css . Le code est contenu dans l'élément head et correspond exactement au nom du fichier html. Pour une raison quelconque, le style ne passe pas.

Qu'est-ce que je fais de mal ici? Mon fichier index.html a le même type de lien EXACT, mais celui-ci est lié à style.css . Le fichier d'index a le style qui s'affiche.

Voici mon HTML ci-dessous:

* {margin: 0;
  padding: 0;}

.gray {
  background-color: #ebebeb;
}
.navbar {
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    background-color: #ebebeb;
    color: #004e98;
    max-width: 1560px;
    margin: 0 auto;
}

/* BRAND TITLE CSS ALL PROPERTIES */

.brand-title {
    font-size: 1.7rem;
    margin: 1rem 1rem 1rem 30px;
    font-weight: bold;
    text-decoration: none;
/*     background-color: pink; */
/*leave margin, it affects space around ur name when mobile size*/
}

a:link {
  text-decoration: none;
  color: #004e98;
}

a:visited {
  color: #004e98;
}

/* BRAND TITLE CSS ALL PROPERTIES END */


.navbar-links {
    height: 100%;
}

.navbar-links ul {
    display: flex;    /*makes list horizontal, not vertical*/
    margin-right: 30px;
    padding: 0;
/*     background-color: yellow; */

}

.navbar-links li {
    list-style: none;
}

.navbar-links li a {
    display: block;
    text-decoration: none;
    color: #004e98;
    padding-left: 2rem;
    font-size: 1.2rem;
}

.navbar-links li a:hover {
    color: #ff6700;
}

.brand-title a:hover {
    color: #ff6700;
    text-decoration: none;
}

.toggle-button {
    position: absolute;
    top: 1.2rem;
    right: 1rem;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    background-color: pink;
}

.toggle-button .bar {
    height: 3px;
    width: 100%;
     background-color: #004e98;  /* color of individual bars*/
    border-radius: 10px;
}

@media (max-device-width: 640px) and (min-device-width: 320px) {
 .Content {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-gap: 15px !important;
    margin: 20px auto !important;
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
 }

 .brand-title {
     margin: 1rem 1rem 1rem 15px;
}

@media (max-width: 699px) {
    .navbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .toggle-button {
        display: flex;

    }

    .navbar-links {
        display: none;
        width: 100%;
      background-color: white;
    }

    .navbar-links ul {
        width: 100%;
        flex-direction: column;
        margin-right: 0; /*this removes margin applied for large screens*/
    }

    .navbar-links ul li {
       text-align: center;
/*        background-color: #EC643E;  /*orange bkg color of drop down*/  */
    }

    .navbar-links ul li a {
      padding: 1rem 1rem;
/*       border-style: solid; */
/*       border-radius: 15px; */
      background-color: ;  /*blue button bkg*/
      margin: 0;
      color: #004e98;

    }

    .navbar-links.active {
        display: flex;
      background-color: #ebebeb;

    }

  .navbar-links li a:hover {
    background-color: #ff6700;  /*orange bar color upon hover*/
    color: white;
}

  .description {
    padding-left: 30px;
  }
}



.Content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  grid-gap: 30px;
  max-width: 1500px;
  padding-left: 30px;
  padding-right: 30px;
  margin: 70px auto;
/*   background-color: #ffedba; */
}

.child {
/*   background-color: lightgreen; */
  color: white;
  place-items: left;

}

.child > p {
  color: black;
  font-family: helvetica-light;
  font-size: 1.5em;
  margin-bottom: 10px;
  line-height: 1.5em;

}


.child_2 {
  display: grid;
  place-items: top;
  background-color: pink;
  height: 700px;

}

img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  border-radius: 15px;
}

/* Background Styles Only */

@import url('https://fonts.googleapis.com/css?family=Raleway');

* {
    font-family: Raleway;
}

CSS:

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  <title>#</title>
  <link rel="stylesheet" type="text/css" href="aboutstyle.css" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
</head>


<body>

<!-- NAV -->
<div class="gray">
      <nav class="navbar">
        <div class="brand-title"><a href="index.html">Title</a></div>
        <a href="#" class="toggle-button">
          <span class="bar"></span>
          <span class="bar"></span>
          <span class="bar"></span>
        </a>
        <div class="navbar-links">
          <ul>
            <li><a href="about.html">About</a></li>
            <li><a href="#">Work</a></li>
            <li><a href="#">Contact</a></li>
          </ul>
        </div>
      </nav>
     </div>

<!-- PAGE CONTENT -->
<div class="Content">
  <div class="child_2"><img src="https://images.unsplash.com/photo-1518806118471-f28b20a1d79d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80"> </div>
  <div class="child"><p>Hi there! ipsum dolor sit amet, consectetur adipiscing elit. Integer nisi orci, pretium suscipit malesuada vitae, auctor sed eros. Etiam turpis libero, accumsan ac mauris quis, vehicula porta purus. Aenean dignissim dignissim finibus. Nam egestas magna vel risus finibus, et venenatis neque suscipit. Nulla a molestie ligula. In porttitor lacus id arcu dapibus, a volutpat nibh congue. Pellentesque eu consectetur diam. Etiam sodales lacinia aliquam. Pellentesque convallis interdum orci a placerat. Praesent quis ultricies leo, sit amet sagittis ipsum. Sed eleifend nisi ante, consequat rhoncus turpis aliquam maximus. Suspendisse commodo purus quis nisi interdum consequat. Cras felis ex, bibendum ut ultricies vitae, dictum ac tortor.</p>
</div>

</div>

  <script  src="script.js"></script>


</body>
</html>


5 commentaires

F12, ouvrez vos outils de développement, accédez à l'onglet Network , actualisez la page et assurez-vous que le fichier css est en cours d'importation.


Si votre CSS est dans un autre dossier, vous devez donner un chemin correct


C'est dans le même dossier que le fichier html


Ce qui est étrange, c'est que le style apparaît pour les appareils mobiles, mais dès que j'arrive à un navigateur de taille iPad, il disparaît


Vous avez des requêtes multimédias dans vos règles CSS. S'il apparaît pour certaines fenêtres et pas pour d'autres, et que vous souhaitez qu'il s'affiche pour d'autres, vous avez des requêtes multimédias mal configurées que vous devez réévaluer.


3 Réponses :


-2
votes

Essayez d'utiliser la balise de base, quelque chose comme ceci:

<link rel="stylesheet" type="text/css" href="/aboutstyle.css" />

Et ajoutez la barre oblique au début sur le lien href comme ceci:

<base href="/" target="_self">

La documentation du tag est ici:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base


1 commentaires

Je ne comprends toujours pas vraiment cela. Ce code de base va-t-il dans l'en-tête? Je l'ai mis dans le <head> avec le code barre oblique et rien n'a changé.



1
votes

Comme déjà suggéré par l'utilisateur Taplar, procédez comme suit pour déboguer d'abord votre problème.

  1. Ouvrez vos outils de développement dans votre navigateur.
  2. Ouvrez l'onglet Network .
  3. Rafraîchissez votre page.
  4. Recherchez votre demande aboutstyle.css dans l'onglet Network .
  5. Vérifiez l'en-tête de la demande pour voir s'il y a une erreur.

Si votre fichier n'est pas importé, cela signifie que le CSS ne se charge jamais en premier lieu. Pour résoudre ce problème, vérifiez votre chemin href="aboutstyle.css" vers le fichier et assurez-vous que le fichier existe.

Votre chemin est aboutstyle.css; . Comme il n'y a pas de / , le chemin est relatif à l'emplacement du fichier et doit exister dans le même répertoire que votre page about.html .

Si votre fichier est importé, vérifiez vos sélecteurs. Je vois également qu'il existe plusieurs types de sélecteurs, tels que * et @media parmi vos sélecteurs de class , d' id et d' element . Vérifiez si vous sélectionnez le contenu à styliser comme prévu. Vous pouvez utiliser l' inspector developer tools pour vérifier si vos éléments héritent correctement d'une partie ou de tout votre style.

Si une partie ou un certain style prend alors que le reste ne le fait pas, quelque chose est écrit de manière incorrecte dans votre document, ce qui le brise. Recherchez une erreur de syntaxe dans vos sélecteurs cassés. Commencez par le premier sélecteur cassé vers le haut du document; ce sera probablement le coupable.

Si ce sont vos media queries qui sont à l'origine du problème, il est également possible que vous y ayez inséré le mauvais style. Vérifiez que tous les sélecteurs qui prendraient effet y appartiennent. Vous pouvez modifier les dimensions avec les developer tools pour vérifier cela.

* affecte tous les éléments du document, et media queries n'affecteront que les éléments spécifiques par ses paramètres. Si le contenu fonctionne pour certaines dimensions par rapport à d'autres, assurez-vous que vos sélecteurs sont placés dans les bonnes media queries .


0 commentaires

1
votes

Cette requête multimédia dans votre code:

@media (max-device-width: 640px) and (min-device-width: 320px) { ...

... est ouvert, mais jamais fermé . (c'est-à-dire que le crochet fermant } est manquant)

En raison de cela, la requête multimédia suivante @media (max-width: 699px) {... est même imbriquée dans la précédente (qui, comme dit, n'est jamais fermée), ce qui ne peut que provoquer des résultats erratiques - le cas échéant .

Donc toutes les règles suivant @media (max-device-width: 640px) and (min-device-width: 320px) { ... ne s'appliquent qu'aux plus petites largeurs d'écrans (c'est-à-dire aux appareils mobiles) ou même pas du tout.

Corrigez les crochets fermants des requêtes multimédias comme vous le souhaitez et vous devriez être défini.


1 commentaires

OMG qui a réellement fonctionné !!!!! Merci! Ma police de barre de navigation n'apparaît toujours pas pour une raison quelconque lorsque je charge la page sur mon iPhone Xs. Mais je peux me pencher là-dessus plus tard, à moins que quelqu'un ne puisse vous aider.