Почему css не влияет на мою страницу PHP?

#php #html #css

#php #HTML #css

Вопрос:

Я изучаю php и сталкиваюсь с некоторыми трудностями, я пытаюсь включить файл php в заголовок другого файла, но css не работает?

вот структура каталогов моего проекта Структура проекта

и вот мой php-код … blogpage.php

  <html lang="en">
<head>   
    <?php include 'head.php';?>

    <title>Off Canvas Template for Bootstrap</title>

</head>
  

Я включил путь в Struts-2/blogpage.php

вот мой head.php

    <!-- Bootstrap core CSS -->
  <link href="/css/bootstrap.min.css" rel="stylesheet">

  <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
  <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">

   <!-- Custom styles for this template -->
  <link href="css/offcanvas.css" rel="stylesheet">
   <link href="css/blog.css" rel="stylesheet">
  

Комментарии:

1. Как вы добавляете CSS в head.php ?

2. <ссылка href=»/css/bootstrap.min.css» rel=»таблица стилей»>

3. В ваших источниках отсутствуют косые черты. И вам нужно изменить «href» на «src» в yor head.php

4. Также было бы неплохо добавить атрибут «type». Например, ‘type=»text / css»‘.

5. Я включил путь в Struts-2/blogpage.php . Смотрите структуру проекта на изображении

Ответ №1:

Находится ли папка CSS под head.php ?

Попробуйте добавить косую черту ко всем ссылкам:

    <!-- Bootstrap core CSS -->
  <link href="/css/bootstrap.min.css" rel="stylesheet">

  <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
  <link href="/css/ie10-viewport-bug-workaround.css" rel="stylesheet">

   <!-- Custom styles for this template -->
  <link href="/css/offcanvas.css" rel="stylesheet">
   <link href="/css/blog.css" rel="stylesheet">
  

Вы можете проверить, добавив ссылки напрямую, не включая php. Попробуйте таким образом посмотреть, работают ли ссылки.

Ответ №2:

Решение первое:

В соответствии с вашей структурой папок у вас есть все style-sheets под CSS folder и вы пытаетесь включить его в PHP-файл, который находится outside в CSS folder , и процедура, в которой вы должны напрямую указать на это, CSS folder чтобы получить ссылки на все файлы, которые вы предоставляете head.php .

The head.php должно выглядеть примерно так, чтобы это не относилось к какой-либо ошибке.

 <!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet" type="text/css">
<!-- Custom styles for this template -->
<link href="css/offcanvas.css" rel="stylesheet" type="text/css">
<link href="css/blog.css" rel="stylesheet" type="text/css">
  

Ошибки:

  1. Ваша косая черта, завершающая первую ссылку, завершится ошибкой, поскольку вы добавили косую черту к bootstrap.css и, следовательно, этот файл не будет вызываться на blogpage.php странице. Именно по этой причине вы не получаете css для blogpage.php .
  2. type="text/css" Отсутствует в вызове таблицы стилей в head.php , и это также может вызвать ошибку.

И в соответствии с этим вам нужно вызвать head.php in blogpage.php следующим образом:

 <html lang="en">
<head>   
<?php include ('../head.php'); ?>
<title>Off Canvas Template for Bootstrap</title>
</head>
  

Лучшая практика

Но вы можете обернуть все head.php , footer.php , header.php в includes folder так, чтобы он был константой в этой папке, и вы могли предоставлять ссылки без каких-либо ошибок.

Поскольку вы вызываете его внутри Struts-2 папки, ваш путь может иногда завершаться ошибкой, и CSS может привести к ошибке.

Советы: После полной загрузки сайта вы нажимаете CTRL U , чтобы весь ваш код открылся в новом окне (просмотр исходного кода страницы), и вы можете проверить, все ли ссылки, которые вы доказываете, выполняются правильно в браузере.

Решение второе:

Вы можете добавить косую черту к структуре папок CSS, поскольку она не будет сбиваться при попытке добавить ее на любую страницу, которую вы используете. Поскольку все сообщения будут выполняться из корневого каталога при всех вызовах

И ваш head.php будет выглядеть так

 <!-- Bootstrap core CSS -->
<link href="/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<link href="/css/ie10-viewport-bug-workaround.css" rel="stylesheet" type="text/css">
<!-- Custom styles for this template -->
<link href="/css/offcanvas.css" rel="stylesheet" type="text/css">
<link href="/css/blog.css" rel="stylesheet" type="text/css">
  

Комментарии:

1. Зачем делать все пути относительными? Struts-2/blogpage.php будет загружаться css/offcanvas.css как /Struts-2/css/offcanvas.css . В соответствии с неверной структурой каталога, i.stack.imgur.com/OGYn9.jpg .

2. Я использовал стандартную структуру для вызова CSS в проекте, и в соответствии с Tarlan Mammadzada кодом он будет работать только для этого проекта. Я делаю это в качестве общего стиля, чтобы ему было полезно разработать код с идеальной структурой.

3. Это не будет работать как есть. CSS не загружается, потому что он не там, где вы указали. Tarlan Mammadzada является абсолютным, поэтому он всегда будет начинаться с корня сервера.

4. Почему он не загружается. Он обязательно загрузится правильно.

5. Если он находится в blogpage.php , он загрузит head.php , но он должен предоставить ссылку на head.php as include '../head.php' , поскольку head.php он находится за пределами папки, которую он упомянул, и это будет идеально работать с моим кодом.