построение меню в HTML с содержанием справа

0

JsFiddle: Здесь

Поэтому я столкнулся с двумя проблемами, и я не могу найти решения. один: мне нужно, чтобы высота div div была высотой, чтобы быть высотой меню (я бы предпочел не использовать правило min-height) два: когда содержимое div больше, чем в меню, мне нужно, чтобы высота меню была размером содержимого div.

HTML:

<div class="container">
    <div class="menu">
        <ul>
            <li>Menu1</li>
            <li>Menu2</li>
            <li>Menu3</li>
            <li>Menu4</li>
        </ul>
    </div> 
    <div class="content">content</div>
</div>
<div class="container">
    <div class="menu">
        <ul>
            <li>Menu1</li>
            <li>Menu2</li>
            <li>Menu3</li>
            <li>Menu4</li>
        </ul>
    </div> 
    <div class="content">content2</div>
</div>

CSS:

.container{
    padding: 5px 0;
    clear: both;
}
.menu{
   float:left;
    background-color: green;
}
    .menu ul{
        list-style-type: none;
        padding: 0;
        margin:0;
    }
.content{
    background-color: yellow;
    padding-left: 50px;
}

РЕДАКТИРОВАТЬ:

После того, как я столкнулся с jsFiddle, я придумал это, у кого-нибудь здесь есть проблема? По сути, он использует таблицу отображения и строку таблицы отображения...

HTML:

<div class="table">
    <div class="row">
        <div class="cell first">
            asdfasdf
        </div>
                <div class="cell second">
            Content 1 
        </div>
    </div>
</div>

<div class="table">
    <div class="row">
        <div class="cell first">
            asdfasdf
        </div>
                <div class="cell second">
            Cotent 2
        </div>
    </div>
</div>

CSS:

.table{
    display table;
    padding-top: 20px;
}

.row{
    display: table-row;
}

.first{
    background-color:green;
}

.second{
        background-color:yellow;
    width: 100%;
}
.cell{
    display:table-cell;
}
Теги:

2 ответа

1

Если вы хотите, чтобы оба столбца имели равные высоты, попробуйте использовать один метод верстки:

Здесь скорректирован JSFiddle.

/* CSS */

.container{
    padding: 5px 0;
    clear: both;
    overflow: hidden;
}

.menu, .content {
    padding-bottom: 999999px;
    margin-bottom: -999999px;
}

.menu{
   float:left;
    background-color: green;
}
    .menu ul{
        list-style-type: none;
        padding: 0;
        margin:0;
    }
.content{
    background-color: yellow;
    padding-left: 50px;
}
0

Минимальный размер содержимого. Это вопрос плавания меню и содержимого и соответствующих ширины

NB. Равная высота для меню, когда контент представляет собой другое обсуждение с различными решениями.

Демо-версия JSFiddle (грубая, так как я прибираю и использую "размер окна"

.container{
    padding: 5px 0;
    clear: both;
     background-color: yellow;
    overflow:hidden;
    margin-bottom:10px;
}
.menu{
   float:left;
    background-color: green;
    width:10%;
}
    .menu ul{
        list-style-type: none;
        padding: 0;
        margin:0;
    }
.content{
 float:left;
    width:80%;
    margin-left:10px;
}
  • 0
    Можете ли вы дать мне идею решения для высоты меню?
  • 0
    Как я уже сказал, есть много способов сделать это ... и большинство из них - "хаки". Попробуйте поискать здесь равные высоты по высоте ... это обычное требование.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню