2017-02-17 43 views
1

我正在繪製卡上的三角形並希望在其上放置一個圖形。三角形和偉大的,和字形顯示...但總是低於,永遠不會在頂部。我曾嘗試用相對潛水包裹glpyh,並使用top和left定位來使glyph絕對化,但都無濟於事。如何將自舉圖形定位在另一個絕對定位的div頂部

一些基本的內容(這裏的jsfiddle https://jsfiddle.net/joshuaohana/4pgjcr47/):

<div class="triangle"> 
    <span class="glyphicon glyphicon-exclamation-sign"></span>   
</div> 

.triangle { 
    position: absolute; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span { 
    position: absolute; 
    bottom: 50px; 
    left: 20px; 
} 

我唯一的併發症是三角形需要保持絕對的。 我怎樣才能在三角形中間放置圖形?

+0

您是否需要跨度在Div內? –

+1

哈哈不,現在我覺得啞巴,謝謝@LeonFreire :)現在通過保持外面的div和定位像普通一樣工作。如果你想發佈這個答案,我會接受它 –

+0

謝謝!發表了一個答案! :) –

回答

1

你可以把跨度放在div的外面,它可以在絕對定位的情況下正常工作! :)

1

你有幾個問題:

首先你的CSS選擇器的特異性不夠具體,這樣你就不會覆蓋頂部由CSS的glyphicon

第二盤,你的頂當你使用邊框繪製一個三角形(所以頂部在實際的三角形div之外)時應該是負數。

嘗試下面的CSS,它應該解決這兩個問題:

span.glyphicon {  // more specific selector 
    position: absolute; 
    top: -65px;   // move up over border 
    left: 20px; 
} 

Updated Fiddle

More information on css specificity

-1
<div class="triangle"> 
    <span class="glyphicon glyphicon-exclamation-sign"></span>   
</div> 

.triangle { 
    position: relative; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span { 
    position: absolute; 
    top: 20px; 
    left: 20px; 
} 

切勿使用DIV和DIV這兩者都是絕對的!

+0

爲什麼你應該「*永遠不要使用既絕對*」的div和div?那麼絕對位於模式彈出窗口右上角的關閉按鈕怎麼樣?只是從絕對變爲相對不做任何事情 - 最初的問題仍然存在 – Pete

-1

跨度:修改與負值的頂部位置,其中該-85px對應於容器div的大小。例如使用-70px。

.triangle { 
    position: absolute; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span.glyphicon-exclamation-sign { 
    position: absolute; 
    bottom: 50px; 
    left: 20px; 
    top: -70px; 
    color: #FFF; 
}