2013-01-03 131 views
1

我想製作一個具有截止角的div。 我想用a:before和after元素做背景圖像。 位於div的左側和右側。 但他們不顯示...之前和之後的div不顯示

這裏是我的html:

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

     </div> 
    </div> 

這是使用CSS IAM:

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 middleTop

和CornerBR.png cornerBR

我真的不知道爲什麼前後不顯示圖像。

這裏是一個的jsfiddle:http://jsfiddle.net/VWhPY/

+2

將是有益的,如果你能創造和分享鏈接的正是這個問題是一個 – freefaller

+0

[jsfiddle.net(http://jsfiddle.net)例如,我會做到這一點:) – user1386906

+0

加入的jsfiddle – user1386906

回答

1

嘗試.page .canvas .TimeLineContainer .TimelineContent:after(請注意TimelineContent的小寫字母l)。

它仍然無法正常工作,但這就是它根本沒有顯示出來的原因。現在你可以繼續調試了。

另一個提示:設置outline: thin solid red您的:之前和之後:調試元素,以更好地看到他們在哪裏,而不會干擾他們的盒子模型。

+0

不管怎麼說, 你快到了。在:before和:after元素之間移除'url'和'background-image'屬性的左括號之間的空格,並移除.TimelineContent上的'overflow:auto'屬性,它應該都可以工作! http://jsfiddle.net/VWhPY/2/ –

+0

感謝您的幫助。我將編輯我的問題並更正此問題 – user1386906

+0

非常感謝! – user1386906