1

カットオフコーナーのあるdivを作りたいです。背景画像を含む:before要素と:after要素を使用してこれを実行したいと思います。divの左右に配置されています。しかし、それらは表示されません...

これが私のhtmlです:

<div class="page">
        <div class="canvas" id="canvas">
            <div class="TimeLineContainer">
                <div class="TimelineContent"></div>
            </div>

        </div>
    </div>

そして、これは以下を使用するCSSiamです。

html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }

        body {
            font-size: 100%;
            font-family: "Calibri", Arial, sans-serif;
            color: black;
            text-align: center;
            overflow: hidden;
        }

        .page {
            display: block;
            text-align: left;
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
        }

            .page .canvas {
                display: block;
                text-align: left;
                width: 100%;
                height: 100%;
                position: absolute;
                overflow: hidden;
                top: 0;
                left: 0;
            }

            .page .canvas .TimeLineContainer {
                display:block;
                width:100%;
                height:150px;
                text-align: center;
                overflow: hidden;
            }

                .page .canvas .TimelineContent {
                    display: block;
                    width:90%;
                    margin: 0 auto;
                    height:150px;
                    position: relative;
                    background-image: url(../img/middleTop.png);
                    background-repeat: repeat-x;
                    overflow: auto;
                }

                .page .canvas .TimeLineContainer .TimeLineContent:before {
                    position:absolute;
                    content:"";
                    top:0px;
                    left:-28px;
                    background-image: url (../img/cornerBL.png);
                    background-repeat: no-repeat;       
                    display: block;
                    width: 28px;
                    height: 150px;  
                }

                .page .canvas .TimeLineContainer .TimeLineContent:after {
                    position:absolute;
                    content:"";
                    top:0px;
                    right:-28px;
                    background-image: url (../img/cornerBR.png);
                    background-repeat: no-repeat;
                    display: block;
                    width: 28px;
                    height: 150px;  
                }

これらは、iamが使用している画像です。

cornerBL.png cornerBL.png

middleTop.png ミドルトップ

およびCornerBR.png コーナーBR

なぜ前後の画像が表示されないのか、よくわかりません。

これがJSfiddleです:http://jsfiddle.net/VWhPY/

4

1 に答える 1

1

試してください.page .canvas .TimeLineContainer .TimelineContent:after(TimelineContentの小文字のlに注意してください)。

それでも正しく動作しませんが、それがまったく表示されない理由です。これで、デバッグを続行できます。

もう1つのヒント:outline: thin solid redデバッグ中に:before要素と:after要素を設定して、ボックスモデルに干渉することなくそれらがどこにあるかをよりよく確認します。

于 2013-01-03T16:21:13.230 に答える