включая footer.php и header.php - PullRequest
1 голос
/ 30 декабря 2011

Я создал верхнюю панель и нижнюю панель для индекса моего сайта. Я выделил оба из них в два файла, header.php, который контролирует верхнюю панель, и footer.php, который контролирует нижнюю панель.

В индексе проблем нет, но если я создаю новую страницу, например about.php, и включаю два php-файла, верхняя и нижняя полоски сдвигаются вправо на 10 пикселей (или что-то в этом роде).

В этом случае страница больше, потому что слева от этого крошечного пустого пространства находится до начала двух полос.

Вот два файла:

header.php

<style>
.blue { background-color: #039; width: 100%; height: 15%; position: absolute; top: 0px; } 
html, body { width: 650px; background-color:#F5F5F5;}
</style>

<div class="blue">
    <h1 style="text-align: center; color:#FFFFCC ;font-family:"Times New Roman",Times,serif;">My Website</h1>
</div>

footer.php

<ul id="figo">
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
</ul>


<style> 
#figo {background-color: #039; position:absolute; bottom:0px; width:100%;}
ul{
  list-style-type:none;
  margin:0;
  padding:0;
  overflow:hidden;
}

li{
  float:right;
}

a{
  display:block;
  width:90px;
  color:#FFFFCC;

}
</style>

index.php Здесь я выкладываю index.php

-

 <html> 

   <head> <title> About </title> </head> 

   <body> 



   <? include 'header.php'; ?>

   <?include 'footer.php'; ?>


   </body> 

   </html>

Ответы [ 3 ]

1 голос
/ 30 декабря 2011

Теги <style></style> должны входить только в часть <head></head> документа.Вы также хотите избежать встроенных стилей.Лучше, чем использовать <style></style>, вы должны поместить все стили, которые будут использоваться всеми вашими страницами, в одну таблицу стилей.

Я бы реализовал оболочку (контейнер) и дал бы ширину и положение вашей страницы.Относительно, это выровняет меню нижнего колонтитула в нижней части этого блока (при условии, что это то, что вы пытаетесь достичь).Если нет, отбросьте позицию из контейнера.

Со всеми этими изменениями структура будет выглядеть примерно так.Имейте в виду, что это очень архаичный дизайн, но он должен помочь вам начать.header.php:

<!DOCTYPE html>
<html>
<head>
<title><?php echo $title; ?></title>
...
<link rel="stylesheet" href="/css/stylesheet.css" type="text/css" />
...
</head>
<body>
<div id="container">
    <div class="blue" id="header">
        <h1>Header Content</h1>
    </div>

index.php / about.php / what.php ...

<?php
$title = 'My About Page';
include('header.php');
?>
    <div>Your page contents</div>
<?php include('footer.php'); ?>

footer.php:

    <div id="footer">
        <ul id="figo">
            <li><a href="#home">Home</a></li>
            <li><a href="#news">News</a></li>
            <li><a href="#contact">Contact</a></li>
            <li><a href="#about">About</a></li>
        </ul>
    </div>
</div><!-- end "container" -->
</body>
</html>

/css / stylesheet.css:

body {
    background-color: #F5F5F5;
    margin: 0;
    padding: 0;
}

#container {
    position: relative;
    width: 650px;
}

.blue {
    background-color: #039;
    height: 15%;
}

#figo {
    background-color: #039;
    position: absolute;
    bottom: 0px;
    margin: 0;
    padding: 0;
    width: 100%;
}

#figo ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#figo li {
    float: right;
}

#figo a {
    display: block;
    width: 90px;
    color: #FFFFCC;
}
0 голосов
/ 16 апреля 2014

Причина, по которой вы получаете заполнение слева, заключается в том, что у вас есть как на вашем header.php, так и на странице, на которую вы загружаете файл заголовка.

Кроме того, было бы лучше поместить заголовок и нижний колонтитул в папку более высокого уровня на вашем сервере. Затем укажите этот файл с помощью

Include("../../header.php");

Стили, находящиеся в одной или двух таблицах стилей, также являются лучшим способом выполнения стилей. Вам нужно будет ссылаться на узлы в вашем документе по родительскому классу и классу или идентификаторам. Это позволит вам получать разные стили на разных страницах, но иметь одну таблицу стилей.

<div class='parent'>
    <div class='child'>
         //do stuff
    </div>
</div>

Тогда стиль с

<style type='text/css'>
    .parent .child{
        cool:stuff;
    }
</style>

И, наконец, убедитесь, что стиль отображается только на страницы: -)

0 голосов
/ 30 декабря 2011

Убейте позицию: абсолют на вашем .blue верхнем баре.Вам это не нужно;так как он находится в верхней части вашего HTML, он будет в верхней части страницы.[Пробел, вероятно, является результатом заполнения по умолчанию для body.] Попробуйте CSS следующим образом:

html, body { background-color:#F5F5F5; margin: 0; padding: 0; }
.blue { background-color: #039; height: 15%; } 

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

Почему вы устанавливаете ширину для элементов HTML и body?Это немного в стиле фанк.Если вы хотите область содержимого шириной 600 пикселей с серым фоном, создайте div-обертку и примените к нему фон:

#wrap { background: #f5f5f5; width: 600px; }

<body>
    <div id="wrap">
    <?php require "header.php"; ?>
    content here
    <?php require "footer.php"; ?>
    </div>
</body>

Кроме того, элементы style должны быть размещены как дочерние элементы headэлемент.Или, что еще лучше, во внешней таблице стилей, чтобы отделить презентацию от контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...