2013-04-15 26 views
1

如何創建彈出框與純CSS顯示在圖像下方純CSS彈出設計

enter image description here

以下是我與位置作出:絕對的正常工作,但我試圖得到的是,是否有可能只用一個div使用:after:before僞類?

.pop{ 
    background:#333; 
    display:inline-block; 
    width:250px; 
    height:120px; 
    border-radius:8px; 
    position:relative; 
    margin-top:25px 
} 
span{ 
    position:absolute; 
    left:0; 
    top:-20px; 
    color:white; 
    display:inline-block; 
    border-radius:8px 8px 0 0; 
    background:#333; 
    padding:6px; 
    width:100px 
} 

Fiddle

+0

像這樣的事情? http://jsfiddle.net/Cup5Y/10/ –

+0

@Bondye請檢查更新的問題。我已經試過這種方法 – Sowmya

回答

4

這個不是很靈活,但是沒有附加標記,使用僞元素::before

.pop { 
 
    background: #333; 
 
    width: 250px; 
 
    height: 120px; 
 
    border-radius: 8px; 
 
    display: inline-block; 
 
} 
 
.pop::before { 
 
    content: "Pop up head"; 
 
    display: block; 
 
    width: 90px; 
 
    background: #333; 
 
    border-radius: 8px; 
 
    padding: 3px; 
 
    margin-top: -14px; 
 
    text-align: center; 
 
    color: white; 
 
}
<div class="pop"></div>

+0

幾乎類似。 Thnks – Sowmya

0

如果我明白你的問題正確的,這是你所需要的http://jsfiddle.net/slash197/Cup5Y/15/

HTML

<div class="holder"> 
    <div class="header">Header</div> 
    <div class="pop">asd asd asd </div> 
</div> 

CSS

.holder { 
    position: relative; 
    width: 250px; 
    height: 140px; 
} 
.header { 
    position: absolute; 
    top: 0px; 
    left: 0px; 
    height: 20px; 
    background:#333; 
    color: #ffffff; 
    border-top-left-radius:8px; 
    border-top-right-radius:8px; 
    padding: 0px 10px; 
} 
.pop{ 
    position: absolute; 
    top: 20px; 
    left: 0px; 
    background:#333; 
    color: #ffffff; 
    display:inline-block; 
    width:250px; 
    height:120px; 
    padding: 10px; 
    border-top-right-radius:8px; 
    border-bottom-left-radius:8px; 
    border-bottom-right-radius:8px; 
} 
0

首先,你需要2個的div,一個是 「頭」,一個是 「內容」

看到我的例子http://jsfiddle.net/Cup5Y/13/

<div class="pop"> 
    <div class="head"> 
     Title 
    </div> 
    <div class="content"> 

    </div> 
</div>