2

次のサイトのコードを使用しています。人々がそうしなくてもコンテンツが見えるようにしたいと思います。

コードは次のとおりです。

<!-- HTML -->
<div id="content" role="main">

            <div id="tabs">
                <nav class="tabs">
                    <a href="#">About Scamper</a>
                    <section class="tabs-content">
                        Scamper is the coolest.
                    </section>
                    <a href="#">His Anatomy</a>
                    <section class="tabs-content">
                        Partly because he's a penguin.
                    </section>
                    <a href="#">Life Achievements</a>
                    <section class="tabs-content">
                        But also he had a movie made about him.
                    </section>
                    <a href="#">More Info</a>
                    <section class="tabs-content">
                        These tabs sure are great.
                    </section>
                </nav>
            </div>

        </div>

<!-- css -->

#content { padding: 25px; background: #FFF; }

    #tabs {
        border: 1px solid #DEDEDE;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        height: 205px;
        position: relative;
        overflow: hidden;
    }
    .tabs-content {
        padding: 25px;
        height: 120px;
        overflow: hidden;
        position: absolute;
        bottom: 0;
        left: 0;
        display: none;
    }
    .tabs {
        overflow: hidden; 
        background: #e1e1e1; 
        background: -moz-linear-gradient(center top , #f2f2f2, #e1e1e1); 
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2f2f2), color-stop(100%,#e1e1e1)); 
        -moz-border-radius: 4px 4px 0 0; 
        -webkit-border-radius: 4px 4px 0 0; 
        border-radius: 4px 4px 0 0; 
        -webkit-box-shadow: 0 1px 0 #FFF inset; 
        -moz-box-shadow: 0 1px 0 #FFF inset; 
        box-shadow: 0 1px 0 #FFF inset;
    }
    .tabs a {
        display: block; 
        float: left; 
        font: 15px/35px Arial, Helvetica, Sans-serif; 
        padding: 0 20px 0 40px; 
        color: #999; 
        text-shadow: 0 1px 0 #FFF;
        border-left: solid 1px rgba(0,0,0,0.05);
        border-right: solid 1px rgba(255,255,255,0.7);
        position: relative;
        overflow: hidden;
    }
    .tabs a:first-child {
        border-left-width: 0;
    }
    .tabs a:last-child {
        border-right-width: 0;
    }
    .tabs a:after {
        content: '✔';
        position: absolute;
        top: 0;
        left: 10px;
        line-height: 21px;
        font-size: 10px;
        width: 21px; 
        text-align: center; 
        margin: 7px 10px 5px 0; 
        background: #000; 
        font-size: 12px; 
        -moz-border-radius: 21px; 
        -webkit-border-radius: 21px; 
        border-radius: 21px; 
        background: #bdbdbd; 
        background: -moz-linear-gradient(center top , #d4d4d4, #bdbdbd); 
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d4d4d4), color-stop(100%,#bdbdbd)); 
        -webkit-box-shadow: 0 1px 0 0 #FFF, 0 1px 0 0 rgba(0,0,0,0.25) inset; 
        -moz-box-shadow: 0 1px 0 0 #FFF, 0 1px 0 0 rgba(0,0,0,0.25) inset; 
        box-shadow: 0 1px 0 0 #FFF, 0 1px 0 0 rgba(0,0,0,0.25) inset; 
        text-shadow: 0 1px 0 #999; 
        color: #ffffff;
    }
    .tabs a:hover {
        background: #FFF;
        border-left-color: #CCC;
    }
    .tabs a:hover:after {
        background: #038bd5; 
        background: -moz-linear-gradient(center top , #2dc3fc, #038bd5); 
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2dc3fc), color-stop(100%,#038bd5)); 
        text-shadow: 0 1px 0 #096c9e; 
        -webkit-box-shadow: 0 1px 0 0 rgba(255,255,255,0.45), 0 1px 0 0 rgba(0, 0, 0, 0.25) inset, 0 0 5px 0 rgba(0,148,255,0.85); 
        -moz-box-shadow: 0 1px 0 0 rgba(255,255,255,0.45), 0 1px 0 0 rgba(0, 0, 0, 0.25) inset, 0 0 5px 0 rgba(0,148,255,0.85); 
        box-shadow: 0 1px 0 0 rgba(255,255,255,0.45), 0 1px 0 0 rgba(0, 0, 0, 0.25) inset, 0 0 5px 0 rgba(0,148,255,0.85)
    }
    .tabs a:hover + .tabs-content {
        display: block;
    }
    .tabs-content:hover {
        display: block;
    }
</style>

スクリプトで提供されているコードに基づいて、これを行うために CSS で編集する必要があるものを誰かが支援できますか?

4

3 に答える 3

2

:targetセレクターを使用することで、これが可能になります。しかし、他のすべての回答の問題は、最初はタブが選択されていないことですが、通常、最初のタブはすでに選択されており、タブがまったく選択されていない状態は存在できません。タブ ナビゲーションの方法は次のとおりです: http://jsfiddle.net/UejbP/1/ ご覧のとおり、最初のタブが自動的に選択されます。

于 2012-08-18T14:32:45.220 に答える
2

タブをクリックしてコンテンツを表示できるコードの更新バージョンがあります。クリックした後、コンテンツは表示されたままになります。

http://calebogden.com/advanced-css-tabs/

関連する抜粋:

ターゲット セレクターを使用するので、ID の [sic] をリンクに追加し、セレクターを HREF 属性にも追加する必要があります。これにより、ターゲットを介してタブを選択できるようになり、同じメソッドの次の兄弟になります。リンクの新しい HTML は次のようになります。

<a id="tab1" href="#tab1">Scamper</a>

HTML が改訂されたので、あとはセレクターを :hover から :target に変更するだけです。

.tabs a:target { declarations } 
.tabs a:target:after { declarations } 
.tabs a:target + section.tabs-content { declarations }

:targetこれはセレクターを示す実用的なフィドルです: http://jsfiddle.net/8BKtz/

最初のタブを選択するには、ハッシュを URL に入れることができます。

@matthias.p は、よりスマートなセレクターを使用して初期タブを選択するための優れたソリューションを示しています。ただし、すべてのソリューション (元のコードと私のソリューションを含む) は新しい CSS セレクターに依存しているため、使用される HTML 5 要素 ( など) をサポートするために Modernizr のようなライブラリが追加されていても、IE8 以下では部分的または完全に機能しなくなりますsection

現時点では、JavaScript のスニペットを使用して、コードの互換性を高めます。将来、純粋な CSS ソリューションが利用可能になることを知ってうれしいです。

これは、JS を使用して互換性を向上させる完全なソリューションです: http://jsfiddle.net/hN4S3/1/

于 2012-08-18T14:08:39.283 に答える
0
.tabs-content {
    padding: 25px;
    height: 120px;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 0;
    display: none; //REMOVE THIS LINE
}

コンテンツを常に表示したい場合は、その行を削除するだけで問題ありません:)

于 2012-08-18T14:08:25.917 に答える