TL; DR:見http://jsfiddle.net/97Yr6/
創建一個漏斗堆棧的方式例子是pseudoelements:與此基本標記
<ul>
<li>1,234,567,890 <span>Tooltip: 0</span></li>
<li>234,567,890 <span>Tooltip: 0</span></li>
<li>23,456,789</li>
<li>2,345,678 <span>Tooltip: 0</span></li>
<li>234,567</li>
<li>23,567 <span>Tooltip: 0</span></li>
<li>4,567<span>Tooltip: 0</span></li>
<li>789</li>
<li>23 <span>Tooltip: 0</span></li>
<li>4 <span>Tooltip: 0</span></li>
</ul>
我們可以使用邊框創建漏斗,所以我們可以用這種方式繪製一種梯形作爲背景:
ul {
position: relative;
overflow: hidden;
font: 14px Arial;
margin: 0; padding: 0;
list-style: none;
text-align: center;
}
ul:before {
content: "";
position: absolute;
z-index: -1;
left: 50%;
margin-left: -120px;
width: 0;
border-top: 800px solid #ccc;
border-left: 120px solid #fff;
border-right: 120px solid #fff;
}
的<ul>
是寬100%,所以我們可以給它一個text-align: center
,所有的量是正確居中
然後可以與pseudoelements再次獲得元件之間的空間,以及:
li:after,li:before {
content: "";
display: block;
height: 0.4em;
background: #fff;
width: 100%;
}
li:before { border-top: 1px dotted #ccc }
li:first-child:before { border: 0; }
雖然可以定位工具提示文本(<li>
需要定義position: relative
),但試圖正確調整left
和margin-left
屬性(特別是對於較低屏幕分辨率,但您可以使用媒體查詢來達到此目的)
li span {
position: absolute;
left: 60%;
white-space: nowrap;
margin-left: 100px;
}
li:nth-child(2) span { left: 59%; }
li:nth-child(3) span { left: 58% }
li:nth-child(4) span { left: 57% }
li:nth-child(5) span { left: 56% }
li:nth-child(6) span { left: 55% }
li:nth-child(7) span { left: 54% }
li:nth-child(8) span { left: 53% }
li:nth-child(9) span { left: 52% }
li:nth-child(10) span { left: 51% }
基本上,如果你改變每個:nth-child
與鄰接選擇器(例如li + li + li + ... + span
)
希望它可能是有幫助的這個例子中可以工作,即使在IE8
。
您必須明確設置每個元素寬度或使用JS – Bojangles 2013-05-08 11:44:38
通過明確設置寬度,無法使文本正常工作。小提琴:http://jsfiddle.net/FEzug/ – Pietu1998 2013-05-08 11:48:43