2013-05-08 70 views
0

我想知道如果像這樣的邊框可能在純CSS嗎?這個盒子裏將沒有內容,只有未來的圖像。CSS邊框高度不同每邊

Possible?

我想在純CSS來實現這一目標,沒有jQuery的。我環顧四周,似乎它不是真的可能,但隨着CSS不斷髮展,我想知道是否有可能使用嵌套的div除外等。

乾杯!

+0

你的意思是,你只需要1個格?如果您允許≥2格,這非常簡單。 – kennytm 2013-05-08 18:30:20

回答

1

你可以僞造它。像這樣jsFiddle example

HTML

<div id="wrapper"> 
    <div id="top"></div> 
    <div id="bottom"></div> 
    <img src="http://www.placekitten.com/200/100" /> 
</div> 

CSS

#top, #bottom { 
    width: 200px; 
    height:50px; 
    position:absolute; 
    left:-1px; 
} 
#bottom { 
    border-left: 1px solid #f00; 
    border-right: 1px solid #f00; 
    border-bottom: 1px solid #f00; 
    bottom:0; 
} 
#top { 
    border-left: 1px solid #f00; 
    top:0; 
} 
#wrapper { 
    position:relative; 
    width: 200px; 
    height:100px; 
    background: #faa; 
} 
+0

啊,所以在一格內是不可能的。我已經有了這個代碼,所以我想我必須保持這樣。 謝謝,無論如何,接受:) – 2013-05-08 18:33:17

+0

正確的,在這一點上是不可能的。你也可以嘗試一個漸變邊框,但並非所有的瀏覽器都支持它。 – j08691 2013-05-08 18:34:16

0

只是爲了 '思考' 的話,你也可以只在一個div的右下角貼小圖形(如一個背景圖像)並在左側和底部使用邊框。仍然只是通過一個小圖形通過CSS來操作它,但至少高度和寬度將是動態的,不會像使用完整圖像一樣卡住。

也可以避免大量額外的標記和CSS。 1個div,1個css聲明和1個小圖片。

1

如果您使用僞元素,則只能使用一個div來完成。 jsFiddle here

HTML:

<div id="wrapper"> 
    <img src="http://www.placekitten.com/200/100" /> 
</div> 

CSS:

#wrapper { 
    position:relative; 
    width: 200px; 
    height:100px; 
    background: #faa; 
    border-left: 1px solid #f00; 
    border-bottom: 1px solid #f00; 
} 
#wrapper::before { 
    content: " "; 
    position: absolute; 
    width: 100%; 
    height: 50%; 
    bottom: -1px; 
    right: -1px; 
    border-right: 1px solid #f00; 
    border-bottom: 1px solid #f00; 
}