2016-12-02 33 views
1

하나의 오목면이있는 사다리꼴을 만들려고합니다.CSS3에 오목면이있는 사다리꼴을 만드는 방법은 무엇입니까?

크로스 브라우저 호환 및 응답 성이 뛰어난 CSS3 솔루션을 선호합니다.

이 솔루션은 내 솔루션과 매우 유사한 솔루션을 제공하는 post입니다. 그러나 필자는 제공된 솔루션 에서처럼 둥근 것이 아닌 오목 측면을 선호합니다. 지금까지는 달성 할 수 없었습니다.

모양을 통해 빛나야하는 모양 뒤에 이미지를 넣고 싶기 때문에 모양이 알파 채널 (rgba)을 지원한다는 것이 매우 중요합니다. 로 보일 것입니다

이 솔루션은 다음과 : 당신은 원하는 크기의 사각형을 만들 div을 사용할 수 있습니다

Trapezoide with concave side

+0

모양의 반대편에는 무엇이있을 것입니까? 뒤에있는 것이 무엇이든간에 (투명해야 함) 보여줘야합니까? 호버 (hover) 효과는 어떻게되어야합니까? 셰이프 경계로 제한해야합니까? 아니면 호버 효과가 없습니까? 또한 사용자의 필요에 맞게 링크 된 게시물을 수정하려고 시도 했습니까? – Harry

+0

@ 해리 모양이 이미지 앞에 표시됩니다. 투명성을 가져야합니다. 마우스를 올리면 필요하지 않습니다. 예, 링크 된 포스트에서 바이올린을 수정하려고했지만 기대했던 것처럼 평평한면을 얻기 위해 달성 할 수 없었습니다. – mian

+0

@ 해리 및 솔루션 투명성을 지원하지 않습니다 – mian

답변

1

. divposition: relativeoverflow: hidden으로 설정하십시오.

그런 다음 position: absolute 및 불투명 box-shadow 인 의사 요소를 사용하십시오.

#container{ 
 
    width: 400px; 
 
    height: 200px; 
 
    background-image: url("http://www.menucool.com/slider/jsImgSlider/images/image-slider-2.jpg"); 
 
    padding: 50px; 
 
} 
 
#trapezoide{ 
 
    position:relative; 
 
    overflow: hidden; 
 
    
 
    /* Play with this properties to achieve the trapezoide just like you want. */ 
 
    height: 100px; 
 
    width: 300px; 
 
} 
 

 
#trapezoide:before{ 
 
    content: ""; 
 
    border-radius: 50%; 
 
    transform: translate(50%, -50%); 
 
    position: absolute; 
 
    box-shadow: 0 0 0 500px black; 
 
    
 
    /* Play with this properties to achieve the trapezoide just like you want. */ 
 
    width: 800px; 
 
    height: 800px; 
 
    top: -288px; 
 
    right: -100px; 
 
}
<div id="container"> 
 
    <div id="trapezoide"></div> 
 
</div>

당신이 원하는 바로 볼 trapezoide를 만들기 위해 표시된 속성을 조정합니다.

+0

이 적절한 해결책이 될 것입니다. 이전에 언급하지 않았지만, 미안합니다 – mian

+0

@mian 스 니펫이 업데이트되었습니다. 지금 확인하십시오. –