Я прочитал кучу руководств по "вертикальному центрированию с помощью CSS":
... но в моем макете есть еще один компонент что не представлено ни в одном из этих методов, кроме вертикального центрирования.
.
Этот макет состоит из двух компонентов. Во-первых, центрирование содержимого по вертикали и горизонтали между верхним и нижним колонтитулами (это липкий нижний колонтитул). У меня есть код в скрипте для демонстрации, но я не смог заставить его работать в IE (код внизу поста).
Второй компонент находится там, куда указывает зеленая стрелка. Это представляет собой скрытый элемент, который должен расширяться вертикально вниз при нажатии на часть текста. Однако Я НЕ ХОЧУэто расширение перемещало содержимое вверх, как если бы все было центрировано...Я хочу, чтобы этот элемент расширялся вниз , не влияя на положение содержимого И толкая липкий нижний колонтитул вниз по мере его расширения. В большинстве случаев появится полоса прокрутки браузера.
Таким образом, эффект расширения скрытого элемента должен быть подобен знамени, падающей с края.
Вот как должен выглядеть макет послераскрытия скрытого элемента:
Итак, как мне добиться этого макета, используя только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
text text text
CLICK TO SHOW/HIDE HIDDEN ELEMENT