2014-03-06 71 views
1

我試圖表明使用下面的代碼在時間軸視圖事件:如何添加背景顏色到CSS三角形?

HTML

<div class="panel-body"> 
    <ul class="timeline"> 
     <li> 
      <div class="timeline-panel"> 
       <div class="timeline-heading"> 
        <h4 class="timeline-title">Timeline Event</h4> 
        <p> 
         <small class="text-muted"><i class="fa fa-time"></i> 11 hours ago via Twitter</small> 
        </p> 
       </div> 
       <div class="timeline-body"> 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vel justo eu mi scelerisque vulputate. Aliquam in metus eu lectus aliquet egestas.</p> 
       </div> 
      </div> 
     </li> 
     <li class="timeline-inverted"> 
      <div class="timeline-panel"> 
       <div class="timeline-heading"> 
        <h4 class="timeline-title">Timeline Event</h4> 
       </div> 
       <div class="timeline-body"> 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vel justo eu mi scelerisque vulputate. Aliquam in metus eu lectus aliquet egestas.</p> 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vel justo eu mi scelerisque vulputate. Aliquam in metus eu lectus aliquet egestas.</p> 
       </div> 
      </div> 
     </li> 
     <li> 
      <div class="timeline-panel"> 
       <div class="timeline-heading"> 
        <h4 class="timeline-title">Timeline Event</h4> 
       </div> 
       <div class="timeline-body"> 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vel justo eu mi scelerisque vulputate. Aliquam in metus eu lectus aliquet egestas.</p> 
       </div> 
      </div> 
     </li> 
    </ul> 
</div> 

CSS在撥弄更新。

我想添加背景彈出;背景顏色目前是白色的。我試圖添加背景顏色屬性,但箭頭背景不反映。

我試圖背景顏色添加到這個CSS:

.timeline > li > .timeline-panel { 
    background-color: #008000; 
    border: 1px solid #D4D4D4; 
    border-radius: 2px; 
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.176); 
    float: left; 
    padding: 20px; 
    position: relative; 
    width: 36%; 
} 

預期輸出:

enter image description here

誰能扔光嗎?謝謝!

jsfiddle

回答

2

DEMO

.timeline-panel { 
    background-color:red!important; 
} 
.timeline > li > .timeline-panel:after { 
    border-left:14px solid red!important; 
    border-right: 0 solid red!important; 
} 
.timeline > li.timeline-inverted > .timeline-panel:after { 
    border-left:14px solid #fff!important; 
    border-right-width: 14px!important; 
    border-left-width: 0!important; 
} 

你不需要!important如果您訂購正確的規則和/或相應修改的值,但它的出現使該規則在頁面的頂部顯示。

+0

你是真棒兄弟。謝謝。 :) – Unknown

+0

好的答案,但紅色是一種震撼:-P http://jsfiddle.net/rhLvV/3/爲OP想要使用的灰色。 – TylerH

2

這裏的關鍵是箭頭的背景顏色。 li右側的項目類.timeline-inverted,這就是我們將用於給左箭頭指定不同的CSS。

Working JSFiddle

.timeline > li > .timeline-panel { 
    background-color:green; 
} 
.timeline > li > .timeline-panel:before { 
    border-left: 15px solid green; 
} 

.timeline > li > .timeline-panel:after { 
    border-left: 14px solid green; 
} 
.timeline > li.timeline-inverted > .timeline-panel:after { 
    border-right: 14px solid green; 
} 
+0

你能解釋一下你怎麼知道使用'.timeline-inverted'?我不清楚。或者它是那個元素的內容而不是名稱(例如:爲內部邊界着色(反轉,因爲默認是在邊界之外)綠色,值爲14px,因爲填充三角形需要多少)? – TylerH

+1

.timeline-inverted是一個應用於'li'的類,它是每個時間軸條目的完整換行。三角形通過':before'和':after'僞元素來應用。由於線右側的三角形指向相反方向,因此它們需要具有不同的CSS。我們可以通過告訴CSS僅適用於''after''''''''''''''''''''''''' –