Выровняйте два <div>s без родительского контейнера - PullRequest
0 голосов
/ 30 июля 2011

Я пытаюсь расположить два элемента <div> так, чтобы их левые стороны совпали, как верхняя панель навигации и боковая панель на этой фотографии:

Enter your own goddamn description.

ОбычноЯ бы использовал родителя <div>, чтобы помочь с этим.Проблема в том, что я планирую использовать PHP include() для заголовка и боковой панели, чтобы сохранить копирование и вставку по всему сайту.Это означает, что тег <div> необходимо оставить открытым в конце include(), чтобы оставить место для содержимого справа.Это кажется ужасной практикой, и я могу забыть добавить </div> в конце страницы.

Есть ли способ выровнять блоки, не заключая их в родительский контейнер?

РЕДАКТИРОВАТЬ: Вот то, что у меня есть.

<!-- Common code.  Designed to be include()'d into each page. -->
<div id = "Header">
    <a href = "/"><img id = "Logo" src = "Foo.jpg"></a>
    <!-- #Logo is centered in CSS. -->

    <ul id = "TopNav">
        <li><a href = "/">Home</a></li>
        <li><a href = "Browse">Home</a></li>
    </ul>
    <!-- #TopNav is also centered in CSS. There are also
    some fancy link effects, but those are irrelevant. -->
</div>

<div id = "Sidebar">
    <!-- Contains stuff like advertisements and a 
    table of contents. -->
</div>
<!-- No CSS effects are currently applied to the sidebar, meaning it's on the
far left of the page.  I'm trying to line it up with #TopNav, which is
closer to the center.

<!-- The content section to the right of the sidebar is not included
in this file.  That's defined on a page-by-page basis.  Whatever that
content is, it should fall to the right of the sidebar.  It'd be nice
if the left side of the content never fell past the right side of the
sidebar, though not an absolute necessity. -->

Ответы [ 3 ]

2 голосов
/ 30 июля 2011

Вы все еще можете выровнять два div, используя родительский контейнер. Не нужно беспокоиться о том, чтобы оставить открытыми теги div. Просто напишите свой html / php так:

<div id="parent">
    <?php include 'header_sidebar.php'; ?>
    <div id="content">
    </div>
</div>
1 голос
/ 30 июля 2011

То, что я думаю, вы только что нажали.

Вы можете использовать элемент body в качестве контейнера для трех div s.

Как это: http://jsfiddle.net/4st5e/

Хотя я до сих пор не уверен, почему нельзя просто добавить обертку div ..

0 голосов
/ 30 июля 2011

Я сделал этот быстрый макет: http://jsfiddle.net/LXwmF/1/

Я не знаю, так ли это сейчас у вас, но вы можете использовать мой в качестве шаблона. Вы можете видеть, что можете стилизовать каждый родительский div.

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