HTML PHP 包含但需要使用不同的 类

HTML PHP Include but need to use different classes

在我的网站上,我有一个列表,其中包含大约 2 - 5 个项目,具体取决于日期。该列表存储在文件中:menu_upcoming_events.shtml

  <ul>
    <li>
        <a 
        href="upcoming_events.shtml#paint_night_sep_2016" 
        title="Sat Sept 24th from 7:00-9:00 PM"
        >
        Sat Sept 24th from 7:00-9:00 PM
        <br />
        Paint Night with Bob Bowers!
        <br />
        </a>
    </li>
    <li>
        <a 
        href="upcoming_events.shtml#two_guitars" 
        title="Sat Oct 15th from 7:30-10:00 PM"
        >
        Sat Oct 15th from 7:30-10:00 PM
        <br />
        Two Guitars / Two Bands
        <br />
        </a>
    </li>
    <li>
        <a 
        href="upcoming_events.shtml#cooking" 
        title="Sat Nov 12th from 7:00-10:00 PM"
        >
        Sat Nov 12th from 7:00-10:00 PM
        <br />
        Father Steve Cooking
        <br />
        </a>
    </li>
    <li>
        <a 
        href="Attachments/nothing_is_impossible.pdf" 
        target="_blank"
        title="Just Published-&quot;Nothing Is Impossible&quot; A Book by Scott Shaeffer-Duffy">
        Just Published-&quot;Nothing Is Impossible&quot;
        <br />
        A Book by Scott Shaeffer-Duffy
        <br />
        </a>
    </li>
  </ul>

问题是这个列表包含在主页的一小部分中 (index.shtml)

<div class="block_right_380_text_left" >
    <p class="anchor_380">
        <a name="upcoming_events_index_page">
        Upcoming Events
        </a>
    </p>
    <p>
    <?php include("menu_upcoming_events.shtml");
    ?>
    </p>
</div>

它也包含在菜单系统中 (menu_primary.shtml)

  <li><a class="link4" href="#">Upcoming Events</a>
      <?php include("menu_upcoming_events.shtml");
      ?>
  </li>

我希望项目列表显示不同,这取决于它被包含的位置(菜单系统的一部分或索引页的 DIV)。例如,菜单系统的 CSS 使用无衬线字体并包含不同的背景颜色:

ul.MenuBarHorizontal a.MenuBarItemSubmenu
{
    background-image: url(SpryMenuBarDown.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%; 
    background-color: #BDB76B;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 600;
}

Index.shtml 页面使用 CSS class 链接 4:

a.link4:link {
    font-family: "Times New Roman", Times, serif;
    color: black;
    font-size: 16px;
    font-weight: 600;
    background-color: inherit;
}

a.link4:visited {
    font-family: "Times New Roman", Times, serif;
    color: black;
    font-size: 16px;
    font-weight: 600;
    background-color: inherit;
}

a.link4:hover {
    font-family: "Times New Roman", Times, serif;
    font-size: 18px;
    font-weight: 600;
    background-color: inherit;
}

a.link4:active {
    font-family: "Times New Roman", Times, serif;
    font-size: 18px;
    font-weight: 600;
    text-decoration: underline;
    background-color: inherit;
}

如何包含这一个文件,但它在两个位置中的每一个位置都显示不同?感谢您观看此内容。

你发布的 CSS 和你发布的包含内容之间 link 真的很少......

唯一 CSS 正在改变的东西 <a class="link4" href="#">Upcoming Events</a> 没有别的,因为 class 没有应用于任何其他东西(来自您发布的内容)。

但是,您可以使用基于元素的一般定位....

.block_right_380_text_left ul li a {
    /* CSS to alter the links in the include list when inside the div */
}

li ul li a {
    /* CSS to alter the links in the include list when inside a list itself */
}

对每个 CSS 定义重复。

改变 a.link4 classes CSS 除了改变那一个 link 之外不会做任何事情。 似乎 不是包含本身的一部分。

如果您仅向包含内的 UL 添加 class,您 可以 使用选择器更具体(这是一件好事)。

请注意,ul.MenuBarHorizontal a.MenuBarItemSubmenu 与您在此处发布的 任何 HTML 相关。那确实 not 意味着它不能。它很可能是一个很好的选择器来改变包含的列表..... 只是没有办法根据你在这里发布的内容来判断。