Как мне создать этот сложный макет, используя только CSS?

ОБЗОР

Я прочитал кучу руководств по "вертикальному центрированию с помощью CSS":

... но в моем макете есть еще один компонент что не представлено ни в одном из этих методов, кроме вертикального центрирования.

layout.

Этот макет состоит из двух компонентов. Во-первых, центрирование содержимого по вертикали и горизонтали между верхним и нижним колонтитулами (это липкий нижний колонтитул). У меня есть код в скрипте для демонстрации, но я не смог заставить его работать в IE (код внизу поста).

Второй компонент находится там, куда указывает зеленая стрелка. Это представляет собой скрытый элемент, который должен расширяться вертикально вниз при нажатии на часть текста. Однако Я НЕ ХОЧУэто расширение перемещало содержимое вверх, как если бы все было центрировано...Я хочу, чтобы этот элемент расширялся вниз , не влияя на положение содержимого И толкая липкий нижний колонтитул вниз по мере его расширения. В большинстве случаев появится полоса прокрутки браузера.

Таким образом, эффект расширения скрытого элемента должен быть подобен знамени, падающей с края.

Вот как должен выглядеть макет послераскрытия скрытого элемента:

layout2


ВОПРОС

Итак, как мне добиться этого макета, используя толькоCSS и он должен быть совместим с разными браузерами. Пожалуйста, дайте мне знать, если мне нужно объяснить что-то еще, чтобы прояснить путаницу.


КОД ПОКА

Примечание... Я пропустил часть шаблонного кода, поставляемого с HTML5 BoilerPlate.

УС

/* --------------------------------------------------------------------------
   General Layout
   -------------------------------------------------------------------------- */
html,body {
    height: 100%;
}

body {
    background-color: #e3e3e3;
    color: #696969;
}

#wrapper {
    min-height: 100%;
    width: 100%;
    min-width: 936px;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
header {
    background-color: #232323;
    height: 108px;
    width: 100%;
    margin: auto;
    padding: 24px 0px 8px 0px;
    position: relative;
}

#header-content {
    height: 100%;
    width: 800px;
    margin: auto;
    position: relative;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
footer {
    background-color: #dbdbdb;
    border-top: 1px solid #bababa;
    height: 30px;
    width: 100%;
    min-width: 936px;
    margin-top: -32px;
    position: relative;
}

#footer-content {
    border-top: 1px solid #f8f8f8;
    height: 100%;
    margin: 0px auto;
    position: relative;
}

#footer-content > div {
    width: 800px;
    margin: 0px auto;
}


/* --------------------------------------------------------------------------
   DOWNLOADZONE
   -------------------------------------------------------------------------- */
#dl-info {
    width: 400px;
    margin: auto;
    display: table-cell !important;
    vertical-align: middle;
}

#show-hide {
    margin: 8px 0px;
    text-align: center;
}

/* --------------------------------------------------------------------------
   General helper classes
   -------------------------------------------------------------------------- */
.zone {
    background: none;
    border: 0px none;
    height: 100%;
    min-height: 100px;
    width: 100%;
    padding-top: 140px;
    padding-bottom: 31px;
    display: table;
    position: absolute;
    top: 0px;
    bottom: 0px;
    overflow: hidden;
}

.border {
    border: 1px solid #454545;
}

.clear {
    clear: both;
}


/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { 
    display: none !important;
    visibility: hidden;
}

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { 
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, 
.visuallyhidden.focusable:focus { 
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.clearfix:before, 
.clearfix:after { 
    content: "";
    display: table;
}

.clearfix:after { clear: both; }

.clearfix { *zoom: 1; }

​ HTML












    Layout




    
Icon Here
text text text
CLICK TO SHOW/HIDE HIDDEN ELEMENT
9
задан Charles 7 May 2012 в 00:12
поделиться