2012-08-31 69 views
3

到目前爲止,我所看到的所有解決方法都是讓圖像變暗,而不是使用圓角的圖像。這是有問題的,因爲我見過的所有解決方案都需要使用背景顏色。當角落變圓時,背景顏色會顯示。我說的這些解決方案:使用CSS或Javascript變暗圓形圖像

http://jsbin.com/icemiy/1/edit

Darken image on rollover

是否有這樣做仍在純粹通過CSS或JavaScript的其他方式(包括jQuery的,當然)。提前致謝!

enter image description here

enter image description here

+0

不是我所知道的。你可以通過javascript來實現這一點。在'CSS'中,您可以使用'divs'來實現帶色調的圓角效果。 –

+0

在你提供的第一個鏈接上,如果你在'.tint'類和圖像上都設置了邊框半徑,它將會工作 – MrOBrian

回答

0

添加邊框半徑爲你所給予的背景色的容器。

在你jsBin例子做:

.tint { 
    overflow: hidden; 
    float: left; 
    background: blue; 
    margin: 0 20px 20px 0; 
    border-radius:20px; 
    -moz-border-radius:20px; 
    -webkit-border-radius:20px; 
    } 
3

您可以在圖像上使用background-clip和它們的容器 - DEMO

figure { 
    border-radius: 10px; 
    -moz-background-clip: padding; 
    -webkit-background-clip: padding-box; 
    background-clip: padding-box; 
    } 

    img { 
    float: left; 
    background: black; 
    display: block; 
    -moz-transition: opacity .3s linear; 
    -webkit-transition: opacity .3s linear; 
    -ms-transition: opacity .3s linear; 
    -o-transition: opacity .3s linear; 
    transition: opacity .3s linear; 

    border-radius: 10px; 
    -moz-background-clip: padding; 
    -webkit-background-clip: padding-box; 
    background-clip: padding-box; 
    } 
+0

只有在圖形將添加border-radius才能工作,你不需要使用img border-半徑。但與其他答案相比,你的核心是:) +1 –

+0

@MilanJaric nope :)如果沒有img border-radius,它將無法工作 - http://jsbin.com/icemiy/129/edit –

+0

@ZoltanToth我試過你的方法和它正在改進,但是我從顏色中得到了大量的溢出,儘管我的代碼與例子是相同的(我認爲))。有什麼想法嗎?謝謝! – Mobie

0

,你可以把這個代碼在IMG,IMG懸停和色調有圓角

-webkit-border-radius:10px; 
border-top-left-radius: 10px; 
border-top-right-radius: 10px; 
border-bottom-right-radius: 10px; 
border-bottom-left-radius: 10px;