2012-10-25 7 views
4

CSS 만 사용하여이 리본을 만들 수 있습니까?각도가있는 CSS 리본을 이미지 위에 놓기

Example image of ribbon I'm trying to create in CSS

+1

시도해 보셨습니까 ... 위치를 지정하고 이미지를 표시하지 않으시겠습니까? – Rchristiani

+0

작은 랩 어라운드 (wrap-around) 가장자리를 없애면 아주 간단합니다. IE8 이하에서는 지원하지 않습니다. – Jason

+1

Rchristiani가 말했듯이, '1'은 절대 위치에있는 투명한 PNG로 쉽게 트릭을 수행 할 수 있습니다. 픽셀 정밀도가 필요하고 "유연한"것은 아니지만 브라우저 간 호환성이 뛰어납니다. '2' CSS3 변환은 더 유연 할 수 있지만 브라우저 간 용량을 더 많이 잃을 수 있습니다. 당신도 prob 수 있습니다. '3 슬라이딩 도어 (sliding door)'와 같은 기법을 사용하여 여러 이미지를보다 유연하게 만들 수 있습니다. # 1이 가장 구현하기 쉽습니다. – jmbertucci

답변

11

html로 :

<div class="box"> 
    <div class="ribbon"> 
     <div class="txt"> 
      Example Text 
     </div> 
    </div> 
<div>​ 

CSS의 :

.box { 
    width: 300px; 
    height: 300px; 
    background-color: #a0a0a0; 
    position: relative; 
} 
.ribbon { 
    -webkit-transform: rotate(-45deg); 
    -moz-transform: rotate(-45deg); 
     -ms-transform: rotate(-45deg); 
     -o-transform: rotate(-45deg); 
      transform: rotate(-45deg); 
    border: 25px solid transparent; 
    border-top: 25px solid #757575; 
    position: absolute; 
    bottom: 20px; 
    right: -50px; 
    padding: 0 10px; 
    width: 120px; 
    color: white; 
    font-family: sans-serif; 
    size: 11px; 
} 
.ribbon .txt { 
    position: absolute; 
    top: -20px; 
    left: 20px; 
}​ 

예 :.

http://codepen.io/gilluminate/pen/jusoI

(PS 모든하지만, 로테이션은 여전히 ​​예전부터 작동 할 것입니다. 브라우저를 사용하십시오.)

+0

환상적입니다. 고마워요! 누락 된 점은 가장자리를 감싸는 것입니다. @ mprquinn의 솔루션으로 그 문제를 해결할 수도 있습니다. – AlecRust

+0

바이올린 링크가 더 이상 작동하지 않습니다. 아직 밖에 있니? – Jaromjj

+0

그래, 미안 @Jaromjj, 나는 그것을 Codepen으로 옮겼다 : http://codepen.io/gilluminate/pen/jusoI – Jason

0

예를 수행 할 수 있습니다. 예를 들어

: CSS에서

<div id="full_img_content"> 
<span id="img_ribbon"> 
    <img src="#" id=""> 
</span> 
</div> 

당신이

#full_img_content 
{ 
float:left; 
width:400px; (slightly larger than image width) 
height:400px; (slightly larger than image height) 
} 
#full_img_content img // your image (if your img have this size) 
{ 
width:390px; 
height:390px; 
z-index: 1; 
} 
#img_ribbon 
{ 
background-image: url("link to img"); 
background-positiom: x-pos y-pos bottom right; 
z-index: 2; 
} 
+0

이것은 오버레이 이미지를 사용합니다. CSS 전용 솔루션을 찾고 있습니다. – AlecRust

2

그것은 불행하게도, 보편적으로 지원하지 않는 일부 CSS의 변환과 가능성이있을 것입니다. 여기에 (빠른) 예를 참조하십시오 http://codepen.io/anon/pen/kBpcK

+0

감사! 나는 당신이 포장을 달성하는 방법을 좋아한다. 디자인을 맞추기 위해 리본 가장자리를 트리밍하는 해결책을 아직 찾지 못했지만 이미지를 얻는 유일한 방법이라고 생각합니다. – AlecRust