1

私は現在、1年目の課題(試験の課題)に取り組んでいます。絶対位置の記事、つまり相対位置の記事の内側に問題があります。これが機能するためには、絶対位置に配置する必要があるように見えますが、コンテンツが大きくなったときに、それ自体の高さが自動的に拡大することはありません。レイアウトの残りの部分を台無しにすることなく、誰かが私が柔軟な高さを得るのを手伝ってもらえますか?

コンテンツは相対的なコンテンツです-1などは絶対的なものです。

テストページ

html

 <div class="content">
        <div class="content-1">
            <article id="info_about"></article>
            <article id="google_map"></article>
            <article id="misc_info" class="clearfix"></article>
        </div>
        <div class="content-2">

        </div>
        <div class="content-3">

        </div>
        <div class="content-4">

        </div>
    </div>

CSS:

.tabs {
    position: relative;
    margin: 40px auto;
    width: 100%;
}

.tabs input {
    position: absolute;
    z-index: 999;
    width: 120px;
    height: 40px;
    left: 0px;
    top: 0px;
    opacity: 0;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    cursor: pointer;
}
.tabs input#tab-2{
    left: 120px;
}
.tabs input#tab-3{
    left: 240px;
}
.tabs input#tab-4{
    left: 360px;
}

.tabs label {
    background: rgba(30, 30, 30, 0.8);
    font-size: 10pt;
    line-height: 40px;
    height: 40px;
    position: relative;
    padding: 0 20px;
    float: left;
    display: block;
    width: 80px;
    color: #ffffff;
    letter-spacing: 1px;

    text-align: center;
text-shadow: 1px 1px 1px rgba(255,255,255,0.3);

    box-shadow: 2px 0 2px rgba(0,0,0,0.1), -2px 0 2px rgba(0,0,0,0.1);

    /* CSS3 TRANSITION */
    -webkit-transition-property: background;
    -webkit-transition-duration: 0.2s;
    -moz-transition-property: background;
    -moz-transition-duration: 0.2s;
    -o-transition-property: background;
    -o-transition-duration: 0.2s;
    transition-property: background;
    transition-duration: 0.2s;
}

.tabs label:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    display: block;
}

.tabs input:hover + label {
    background: rgba(40, 40, 40, 0.8);
}

.tabs label:first-of-type {
    z-index: 4;
    box-shadow: 2px 0 2px rgba(0,0,0,0.1);
}

.tab-label-2 {
    z-index: 3;
}

.tab-label-3 {
    z-index: 2;
}

.tab-label-4 {
    z-index: 1;
}

.tabs input:checked + label {
    background: rgba(0, 0, 0, 0.8);
    z-index: 6;
}

.clear-shadow {
    clear: both;
}

.content {
    position: relative;
    width: 100%;
    background-color: red;
    z-index: 5;
    min-height: 480px;
}

.content div {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;

    -webkit-transition: opacity linear 0.1s;
    -moz-transition: opacity linear 0.1s;
    -o-transition: opacity linear 0.1s;
    -ms-transition: opacity linear 0.1s;
    transition: opacity linear 0.1s;
}

.tabs input.tab-selector-1:checked ~ .content .content-1,
.tabs input.tab-selector-2:checked ~ .content .content-2,
.tabs input.tab-selector-3:checked ~ .content .content-3,
.tabs input.tab-selector-4:checked ~ .content .content-4 {
    z-index: 100;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;

    -webkit-transition: opacity ease-out 0.2s 0.1s;
    -moz-transition: opacity ease-out 0.2s 0.1s;
    -o-transition: opacity ease-out 0.2s 0.1s;
    -ms-transition: opacity ease-out 0.2s 0.1s;
    transition: opacity ease-out 0.2s 0.1s;
}
.content div h2,
.content div h3{
    color: #398080;
}
.content div p {
    font-size: 14px;
    line-height: 22px;
    font-style: italic;
    text-align: left;
    margin: 0;
    color: #777;
    padding-left: 15px;
    font-family: Cambria, Georgia, serif;
    border-left: 8px solid rgba(63,148,148, 0.1);
}


/* CONTENT PAGES*/

/* om os */

article#info_about{
    width: 530px;
    background: rgba(0, 0, 0, 0.8);
    height: 480px;
    margin-right: 20px;
    float: left;
}

article#google_map{
    width: 350px;
    height: 350px;
    background: rgba(0, 0, 0, 0.8);
    margin-bottom: 20px;
    float: left;
}

article#misc_info{
    width: 350px;
    height: 110px;
    background: rgba(0, 0, 0, 0.8);
    float: left;
}
4

1 に答える 1

0

ナビゲーションにラジオボタンを使用している理由がわかりません。最初からやり直して、単純な jQuery タブ ソリューションhttp://css-tricks.com/examples/OrganicTabs/でこのようなものを使用することをお勧めしますが、次の変更を加えることで、コンテンツに合わせて div を成長させることができました。

HTML content-1 から content-4 に clearfix のクラスを追加します。

例:<div class="content-1 clearfix">

CSS

.content div {
opacity: 0;
-webkit-transition: opacity linear 0.1s;
    -moz-transition: opacity linear 0.1s;
    -o-transition: opacity linear 0.1s;
    -ms-transition: opacity linear 0.1s;
    transition: opacity linear 0.1s;
}

.content-2, .content-3, .content-4{
position: absolute;
top: 0;
}


article#info_about {
width: 530px;
min-height:480px;
background: rgba(0, 0, 0, 0.8);
margin-right: 20px;
float: left;
}
于 2012-12-15T20:38:31.163 に答える