2012-07-30 3 views
3

div 및 CSS3을 사용하여 다음 효과를 생성하려고합니다. 오른쪽 측면을 얻으려면 border-radius 속성을 사용했습니다. 왼쪽에 오목면을 만들 수있는 방법이 있습니까? enter image description here볼록한 오른쪽 테두리와 오목한 왼쪽 테두리로 div를 만들 수 있습니까?

+3

기술적으로 오목하게 만들 수는 없지만 [시각적 효과는이 질문에 대한 답변과 같이 나타납니다.] (http://stackoverflow.com/questions/) 10501488/css-3-shape-inverse-circle/10503105 # 10503105). – ScottS

+3

왼쪽 부분에는 필요한 경계선 반경이있는 흰 색의 div를 포함하고, 절대 위치 지정을 통해 해당 div와 겹치도록 설정하고, 둘 다 래퍼 div에 포함시킵니다. – SexyBeast

+0

@ Cupidvogel - 당신이 제안하는 것은 본질적으로 위의 링크의 "Orginal Answer"와 같습니다 (단지 여분의 'div'보다는 의사 요소를 사용했습니다). 그러나 그 링크의 개정 된 대답은 실제로 그 오목한 부분이 _ 투과 _되는 것을 허용합니다. 오목한 부분 뒤에 단색 이상의 것이 있으면 아주 좋을 수 있습니다. – ScottS

답변

1

this과 같은 것을 찾고 계십니까?

기본적으로 :before을 사용하여 두 번째 div를 삽입하고 div 뒤에있는 배경색과 동일한 배경색을 지정하십시오. 다음은 코드를 단순화 한 것입니다. JSFiddle은 이미지의 모양과 일치하는 일부 시도를합니다.

div { 
    width: 100px; 
    height: 80px; 
    background: green; 
    border-radius: 0 45px 45px 0; 
} 
div:before { 
    content:""; 
    width: 45px; 
    height: 80px; 
    background: #fff; 
    border-radius: 0 45px 45px 0; 
    position: absolute; 
} 
관련 문제