0

可能标题不太清楚,因为我不知道如何解释。我正在创建我的html(一次性工作,所以不使用java。只是带有css的普通html)。

考虑这个示意图(Pic 1)。左侧面板和页脚几乎与网站的所有页面相同,它包含指向网站其他页面的链接。

|================================|
||-------||------------||------| |
||LEFT   ||CENTER      ||RIGHT | |
||PANEL  ||PANEL       ||PANEL | |
||_______||____________||______| |
||_______________________________|
||  FOOTER                       |
||_______________________________|
|================================|

Pic.1 网页布局

|------------------------|
|                        |
|link to pA              |
|link to pB              |
|                        |
|current link highlited  |
|------------------------|

图2。左面板布局

但以我目前的知识,如果我尝试在左侧面板和页脚中进行任何更改,我必须更改所有页面。是否可以将此左侧面板写入单独的文件中,并将其包含在需要的地方?

此外,可能是一个单独的问题,但已链接,假设将左侧面板写入单独的文件是可能的。是否可以突出显示当前访问的页面链接?(见Pic 2

4

1 回答 1

0

EDIT 对不起,我没有引起足够的重视。你没有用PHP?在这种情况下,请查看 HTML5 包含文件

我找不到在主页和包含文件之间共享数据的方法。如果可能的话,在您包含的文件中,您可能会使用一个#标签,例如mypage.html#hello并使用 JavaScript 对其进行解析以找出您正在访问的页面。


你实际上回答了你自己的问题。只需取出 HTML 代码并将其放在单独的文件中,然后将其包含在原来的位置即可。

说你的代码是

<div id="main">
    <div id="left-panel">
        <div id="links etc"></div>
    </div>
    <div id="another"></div>
</div>

您将参与left-panel其中并放入一个单独的文件并将其包含在它所在的位置。

left-panel.php

<div id="left-panel">
    <div id="links etc"></div>
</div>

原始文件

<div id="main">
    <?php include 'left-panel.php'; ?>
    <div id="another"></div>
</div>

要知道您当前正在访问哪个页面,您可以使用变量。在您放置的每个页面中说,<?php $page = 'shop'; ?>并在内部left-panel.php使用 if 语句,例如:

<ul>
    <li><a href="page1.php" <?php if($page == 'page1') echo 'class="active"'; ?>>Page1</li>
    <li><a href="page2.php" <?php if($page == 'page2') echo 'class="active"'; ?>>Page2</li>
</ul> 

为了避免一堆 if 语句,你可以将你的页面放在一个数组中并循环它们:

<ul>
<?php
$pages = array('page1' => 'Page1', 'page2' => 'Page2', 'page3' => 'Page3');
foreach($pages as $file => $name) {
    echo '<li><a href="'.$file.'" '.($page == $file ? 'class="active"' : '').'>'.$name.'</a></li>';
}
?>

于 2013-10-06T09:16:42.267 回答